{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 6.6 Lab 2: Ridge Regression and the Lasso"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "from sklearn.linear_model import Ridge,Lasso\n",
    "from sklearn.model_selection import train_test_split,GridSearchCV\n",
    "from sklearn.metrics import mean_squared_error,r2_score\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "from itertools import combinations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(322, 21)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>AtBat</th>\n",
       "      <th>Hits</th>\n",
       "      <th>HmRun</th>\n",
       "      <th>Runs</th>\n",
       "      <th>RBI</th>\n",
       "      <th>Walks</th>\n",
       "      <th>Years</th>\n",
       "      <th>CAtBat</th>\n",
       "      <th>CHits</th>\n",
       "      <th>...</th>\n",
       "      <th>CRuns</th>\n",
       "      <th>CRBI</th>\n",
       "      <th>CWalks</th>\n",
       "      <th>League</th>\n",
       "      <th>Division</th>\n",
       "      <th>PutOuts</th>\n",
       "      <th>Assists</th>\n",
       "      <th>Errors</th>\n",
       "      <th>Salary</th>\n",
       "      <th>NewLeague</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>-Andy Allanson</td>\n",
       "      <td>293</td>\n",
       "      <td>66</td>\n",
       "      <td>1</td>\n",
       "      <td>30</td>\n",
       "      <td>29</td>\n",
       "      <td>14</td>\n",
       "      <td>1</td>\n",
       "      <td>293</td>\n",
       "      <td>66</td>\n",
       "      <td>...</td>\n",
       "      <td>30</td>\n",
       "      <td>29</td>\n",
       "      <td>14</td>\n",
       "      <td>A</td>\n",
       "      <td>E</td>\n",
       "      <td>446</td>\n",
       "      <td>33</td>\n",
       "      <td>20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>A</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-Alan Ashby</td>\n",
       "      <td>315</td>\n",
       "      <td>81</td>\n",
       "      <td>7</td>\n",
       "      <td>24</td>\n",
       "      <td>38</td>\n",
       "      <td>39</td>\n",
       "      <td>14</td>\n",
       "      <td>3449</td>\n",
       "      <td>835</td>\n",
       "      <td>...</td>\n",
       "      <td>321</td>\n",
       "      <td>414</td>\n",
       "      <td>375</td>\n",
       "      <td>N</td>\n",
       "      <td>W</td>\n",
       "      <td>632</td>\n",
       "      <td>43</td>\n",
       "      <td>10</td>\n",
       "      <td>475.0</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-Alvin Davis</td>\n",
       "      <td>479</td>\n",
       "      <td>130</td>\n",
       "      <td>18</td>\n",
       "      <td>66</td>\n",
       "      <td>72</td>\n",
       "      <td>76</td>\n",
       "      <td>3</td>\n",
       "      <td>1624</td>\n",
       "      <td>457</td>\n",
       "      <td>...</td>\n",
       "      <td>224</td>\n",
       "      <td>266</td>\n",
       "      <td>263</td>\n",
       "      <td>A</td>\n",
       "      <td>W</td>\n",
       "      <td>880</td>\n",
       "      <td>82</td>\n",
       "      <td>14</td>\n",
       "      <td>480.0</td>\n",
       "      <td>A</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-Andre Dawson</td>\n",
       "      <td>496</td>\n",
       "      <td>141</td>\n",
       "      <td>20</td>\n",
       "      <td>65</td>\n",
       "      <td>78</td>\n",
       "      <td>37</td>\n",
       "      <td>11</td>\n",
       "      <td>5628</td>\n",
       "      <td>1575</td>\n",
       "      <td>...</td>\n",
       "      <td>828</td>\n",
       "      <td>838</td>\n",
       "      <td>354</td>\n",
       "      <td>N</td>\n",
       "      <td>E</td>\n",
       "      <td>200</td>\n",
       "      <td>11</td>\n",
       "      <td>3</td>\n",
       "      <td>500.0</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>-Andres Galarraga</td>\n",
       "      <td>321</td>\n",
       "      <td>87</td>\n",
       "      <td>10</td>\n",
       "      <td>39</td>\n",
       "      <td>42</td>\n",
       "      <td>30</td>\n",
       "      <td>2</td>\n",
       "      <td>396</td>\n",
       "      <td>101</td>\n",
       "      <td>...</td>\n",
       "      <td>48</td>\n",
       "      <td>46</td>\n",
       "      <td>33</td>\n",
       "      <td>N</td>\n",
       "      <td>E</td>\n",
       "      <td>805</td>\n",
       "      <td>40</td>\n",
       "      <td>4</td>\n",
       "      <td>91.5</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 21 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          Unnamed: 0  AtBat  Hits  HmRun  Runs  RBI  Walks  Years  CAtBat  \\\n",
       "0     -Andy Allanson    293    66      1    30   29     14      1     293   \n",
       "1        -Alan Ashby    315    81      7    24   38     39     14    3449   \n",
       "2       -Alvin Davis    479   130     18    66   72     76      3    1624   \n",
       "3      -Andre Dawson    496   141     20    65   78     37     11    5628   \n",
       "4  -Andres Galarraga    321    87     10    39   42     30      2     396   \n",
       "\n",
       "   CHits  ...  CRuns  CRBI  CWalks  League Division PutOuts  Assists  Errors  \\\n",
       "0     66  ...     30    29      14       A        E     446       33      20   \n",
       "1    835  ...    321   414     375       N        W     632       43      10   \n",
       "2    457  ...    224   266     263       A        W     880       82      14   \n",
       "3   1575  ...    828   838     354       N        E     200       11       3   \n",
       "4    101  ...     48    46      33       N        E     805       40       4   \n",
       "\n",
       "   Salary  NewLeague  \n",
       "0     NaN          A  \n",
       "1   475.0          N  \n",
       "2   480.0          A  \n",
       "3   500.0          N  \n",
       "4    91.5          N  \n",
       "\n",
       "[5 rows x 21 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = pd.read_csv(r'E:\\programming\\dataset\\Into_to_statstical_learning\\Hitters.csv')\n",
    "print(data.shape)\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Salary']"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[col for col in data.columns if data[col].isnull().sum()>0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ONly Salarty has missing values\n",
    "data.dropna(inplace = True)\n",
    "# also we don;t need the name col\n",
    "data.drop('Unnamed: 0',axis = 1,inplace = True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['League', 'Division', 'NewLeague']\n"
     ]
    }
   ],
   "source": [
    "# In R, the qualitative variables are automatically converted into dummy variables, but here, we have to do it manually.\n",
    "qual_vars = [col for col in data.columns if data[col].dtype == 'O']\n",
    "print(qual_vars)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AtBat</th>\n",
       "      <th>Hits</th>\n",
       "      <th>HmRun</th>\n",
       "      <th>Runs</th>\n",
       "      <th>RBI</th>\n",
       "      <th>Walks</th>\n",
       "      <th>Years</th>\n",
       "      <th>CAtBat</th>\n",
       "      <th>CHits</th>\n",
       "      <th>CHmRun</th>\n",
       "      <th>CRuns</th>\n",
       "      <th>CRBI</th>\n",
       "      <th>CWalks</th>\n",
       "      <th>PutOuts</th>\n",
       "      <th>Assists</th>\n",
       "      <th>Errors</th>\n",
       "      <th>Salary</th>\n",
       "      <th>League_N</th>\n",
       "      <th>Division_W</th>\n",
       "      <th>NewLeague_N</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>315</td>\n",
       "      <td>81</td>\n",
       "      <td>7</td>\n",
       "      <td>24</td>\n",
       "      <td>38</td>\n",
       "      <td>39</td>\n",
       "      <td>14</td>\n",
       "      <td>3449</td>\n",
       "      <td>835</td>\n",
       "      <td>69</td>\n",
       "      <td>321</td>\n",
       "      <td>414</td>\n",
       "      <td>375</td>\n",
       "      <td>632</td>\n",
       "      <td>43</td>\n",
       "      <td>10</td>\n",
       "      <td>475.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>479</td>\n",
       "      <td>130</td>\n",
       "      <td>18</td>\n",
       "      <td>66</td>\n",
       "      <td>72</td>\n",
       "      <td>76</td>\n",
       "      <td>3</td>\n",
       "      <td>1624</td>\n",
       "      <td>457</td>\n",
       "      <td>63</td>\n",
       "      <td>224</td>\n",
       "      <td>266</td>\n",
       "      <td>263</td>\n",
       "      <td>880</td>\n",
       "      <td>82</td>\n",
       "      <td>14</td>\n",
       "      <td>480.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>496</td>\n",
       "      <td>141</td>\n",
       "      <td>20</td>\n",
       "      <td>65</td>\n",
       "      <td>78</td>\n",
       "      <td>37</td>\n",
       "      <td>11</td>\n",
       "      <td>5628</td>\n",
       "      <td>1575</td>\n",
       "      <td>225</td>\n",
       "      <td>828</td>\n",
       "      <td>838</td>\n",
       "      <td>354</td>\n",
       "      <td>200</td>\n",
       "      <td>11</td>\n",
       "      <td>3</td>\n",
       "      <td>500.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>321</td>\n",
       "      <td>87</td>\n",
       "      <td>10</td>\n",
       "      <td>39</td>\n",
       "      <td>42</td>\n",
       "      <td>30</td>\n",
       "      <td>2</td>\n",
       "      <td>396</td>\n",
       "      <td>101</td>\n",
       "      <td>12</td>\n",
       "      <td>48</td>\n",
       "      <td>46</td>\n",
       "      <td>33</td>\n",
       "      <td>805</td>\n",
       "      <td>40</td>\n",
       "      <td>4</td>\n",
       "      <td>91.5</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>594</td>\n",
       "      <td>169</td>\n",
       "      <td>4</td>\n",
       "      <td>74</td>\n",
       "      <td>51</td>\n",
       "      <td>35</td>\n",
       "      <td>11</td>\n",
       "      <td>4408</td>\n",
       "      <td>1133</td>\n",
       "      <td>19</td>\n",
       "      <td>501</td>\n",
       "      <td>336</td>\n",
       "      <td>194</td>\n",
       "      <td>282</td>\n",
       "      <td>421</td>\n",
       "      <td>25</td>\n",
       "      <td>750.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   AtBat  Hits  HmRun  Runs  RBI  Walks  Years  CAtBat  CHits  CHmRun  CRuns  \\\n",
       "1    315    81      7    24   38     39     14    3449    835      69    321   \n",
       "2    479   130     18    66   72     76      3    1624    457      63    224   \n",
       "3    496   141     20    65   78     37     11    5628   1575     225    828   \n",
       "4    321    87     10    39   42     30      2     396    101      12     48   \n",
       "5    594   169      4    74   51     35     11    4408   1133      19    501   \n",
       "\n",
       "   CRBI  CWalks  PutOuts  Assists  Errors  Salary  League_N  Division_W  \\\n",
       "1   414     375      632       43      10   475.0         1           1   \n",
       "2   266     263      880       82      14   480.0         0           1   \n",
       "3   838     354      200       11       3   500.0         1           0   \n",
       "4    46      33      805       40       4    91.5         1           0   \n",
       "5   336     194      282      421      25   750.0         0           1   \n",
       "\n",
       "   NewLeague_N  \n",
       "1            1  \n",
       "2            0  \n",
       "3            1  \n",
       "4            1  \n",
       "5            0  "
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = pd.get_dummies(data,columns= qual_vars,drop_first=True)\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 6.6.1 Ridge Regression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "list_alpha = 10**np.linspace(-2,10,100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "# in R, by default, the predictors are standardized\n",
    "X = data.drop('Salary',axis = 1)\n",
    "y = data['Salary']\n",
    "scaler = StandardScaler()\n",
    "X = scaler.fit_transform(X)\n",
    "# Now, X is standardised"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "coeff_matrix = {}\n",
    "\n",
    "for alpha in list_alpha:\n",
    "    model = Ridge(alpha=alpha)\n",
    "    model.fit(X,y)\n",
    "    coeff_matrix[alpha] = list(model.coef_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "      <th>10</th>\n",
       "      <th>11</th>\n",
       "      <th>12</th>\n",
       "      <th>13</th>\n",
       "      <th>14</th>\n",
       "      <th>15</th>\n",
       "      <th>16</th>\n",
       "      <th>17</th>\n",
       "      <th>18</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1.000000e-02</th>\n",
       "      <td>-290.918728</td>\n",
       "      <td>337.229910</td>\n",
       "      <td>37.495419</td>\n",
       "      <td>-60.017790</td>\n",
       "      <td>-26.665375</td>\n",
       "      <td>134.928045</td>\n",
       "      <td>-17.051824</td>\n",
       "      <td>-388.777849</td>\n",
       "      <td>88.580588</td>\n",
       "      <td>-12.898994</td>\n",
       "      <td>477.601029</td>\n",
       "      <td>258.387712</td>\n",
       "      <td>-213.378990</td>\n",
       "      <td>78.761482</td>\n",
       "      <td>5.365672e+01</td>\n",
       "      <td>-2.219265e+01</td>\n",
       "      <td>3.125460e+01</td>\n",
       "      <td>-58.443824</td>\n",
       "      <td>-1.238497e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.321941e-02</th>\n",
       "      <td>-290.862746</td>\n",
       "      <td>337.039648</td>\n",
       "      <td>37.381713</td>\n",
       "      <td>-59.842092</td>\n",
       "      <td>-26.560787</td>\n",
       "      <td>134.881689</td>\n",
       "      <td>-17.166596</td>\n",
       "      <td>-388.046721</td>\n",
       "      <td>89.164057</td>\n",
       "      <td>-12.494991</td>\n",
       "      <td>476.606154</td>\n",
       "      <td>257.661560</td>\n",
       "      <td>-213.216987</td>\n",
       "      <td>78.761568</td>\n",
       "      <td>5.363224e+01</td>\n",
       "      <td>-2.220266e+01</td>\n",
       "      <td>3.125631e+01</td>\n",
       "      <td>-58.453308</td>\n",
       "      <td>-1.239630e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.747528e-02</th>\n",
       "      <td>-290.789150</td>\n",
       "      <td>336.790313</td>\n",
       "      <td>37.232619</td>\n",
       "      <td>-59.611894</td>\n",
       "      <td>-26.423634</td>\n",
       "      <td>134.820836</td>\n",
       "      <td>-17.317830</td>\n",
       "      <td>-387.078202</td>\n",
       "      <td>89.916997</td>\n",
       "      <td>-11.967363</td>\n",
       "      <td>475.303911</td>\n",
       "      <td>256.712435</td>\n",
       "      <td>-213.005133</td>\n",
       "      <td>78.761698</td>\n",
       "      <td>5.359983e+01</td>\n",
       "      <td>-2.221573e+01</td>\n",
       "      <td>3.125844e+01</td>\n",
       "      <td>-58.465774</td>\n",
       "      <td>-1.241105e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.310130e-02</th>\n",
       "      <td>-290.692507</td>\n",
       "      <td>336.464367</td>\n",
       "      <td>37.037600</td>\n",
       "      <td>-59.311089</td>\n",
       "      <td>-26.244216</td>\n",
       "      <td>134.741106</td>\n",
       "      <td>-17.516885</td>\n",
       "      <td>-385.794898</td>\n",
       "      <td>90.881489</td>\n",
       "      <td>-11.280807</td>\n",
       "      <td>473.604369</td>\n",
       "      <td>255.476124</td>\n",
       "      <td>-212.728953</td>\n",
       "      <td>78.761896</td>\n",
       "      <td>5.355691e+01</td>\n",
       "      <td>-2.223273e+01</td>\n",
       "      <td>3.126106e+01</td>\n",
       "      <td>-58.482132</td>\n",
       "      <td>-1.243018e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.053856e-02</th>\n",
       "      <td>-290.565733</td>\n",
       "      <td>336.039547</td>\n",
       "      <td>36.783312</td>\n",
       "      <td>-58.919331</td>\n",
       "      <td>-26.010245</td>\n",
       "      <td>134.636895</td>\n",
       "      <td>-17.778470</td>\n",
       "      <td>-384.094384</td>\n",
       "      <td>92.105310</td>\n",
       "      <td>-10.391640</td>\n",
       "      <td>471.394628</td>\n",
       "      <td>253.872789</td>\n",
       "      <td>-212.370325</td>\n",
       "      <td>78.762198</td>\n",
       "      <td>5.350006e+01</td>\n",
       "      <td>-2.225474e+01</td>\n",
       "      <td>3.126419e+01</td>\n",
       "      <td>-58.503548</td>\n",
       "      <td>-1.245482e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.037017e-02</th>\n",
       "      <td>-290.399549</td>\n",
       "      <td>335.487850</td>\n",
       "      <td>36.453059</td>\n",
       "      <td>-58.411247</td>\n",
       "      <td>-25.706350</td>\n",
       "      <td>134.501078</td>\n",
       "      <td>-18.121489</td>\n",
       "      <td>-381.841703</td>\n",
       "      <td>93.639509</td>\n",
       "      <td>-9.246911</td>\n",
       "      <td>468.535060</td>\n",
       "      <td>251.805034</td>\n",
       "      <td>-211.906865</td>\n",
       "      <td>78.762654</td>\n",
       "      <td>5.342477e+01</td>\n",
       "      <td>-2.228310e+01</td>\n",
       "      <td>3.126778e+01</td>\n",
       "      <td>-58.531507</td>\n",
       "      <td>-1.248636e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5.336699e-02</th>\n",
       "      <td>-290.181690</td>\n",
       "      <td>334.774358</td>\n",
       "      <td>36.026278</td>\n",
       "      <td>-57.755665</td>\n",
       "      <td>-25.313619</td>\n",
       "      <td>134.324660</td>\n",
       "      <td>-18.569948</td>\n",
       "      <td>-378.860463</td>\n",
       "      <td>95.533628</td>\n",
       "      <td>-7.784143</td>\n",
       "      <td>464.856173</td>\n",
       "      <td>249.156954</td>\n",
       "      <td>-211.311366</td>\n",
       "      <td>78.763326</td>\n",
       "      <td>5.332509e+01</td>\n",
       "      <td>-2.231937e+01</td>\n",
       "      <td>3.127166e+01</td>\n",
       "      <td>-58.567872</td>\n",
       "      <td>-1.252635e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7.054802e-02</th>\n",
       "      <td>-289.895649</td>\n",
       "      <td>333.855863</td>\n",
       "      <td>35.478148</td>\n",
       "      <td>-56.914983</td>\n",
       "      <td>-24.809266</td>\n",
       "      <td>134.096355</td>\n",
       "      <td>-19.153838</td>\n",
       "      <td>-374.923186</td>\n",
       "      <td>97.827905</td>\n",
       "      <td>-5.932221</td>\n",
       "      <td>460.156947</td>\n",
       "      <td>245.795044</td>\n",
       "      <td>-210.551308</td>\n",
       "      <td>78.764286</td>\n",
       "      <td>5.319331e+01</td>\n",
       "      <td>-2.236540e+01</td>\n",
       "      <td>3.127547e+01</td>\n",
       "      <td>-58.614953</td>\n",
       "      <td>-1.257650e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9.326033e-02</th>\n",
       "      <td>-289.518653</td>\n",
       "      <td>332.679118</td>\n",
       "      <td>34.779442</td>\n",
       "      <td>-55.844782</td>\n",
       "      <td>-24.166567</td>\n",
       "      <td>133.802055</td>\n",
       "      <td>-19.909742</td>\n",
       "      <td>-369.742688</td>\n",
       "      <td>100.542373</td>\n",
       "      <td>-3.614040</td>\n",
       "      <td>454.205686</td>\n",
       "      <td>241.572143</td>\n",
       "      <td>-209.588450</td>\n",
       "      <td>78.765577</td>\n",
       "      <td>5.301946e+01</td>\n",
       "      <td>-2.242329e+01</td>\n",
       "      <td>3.127854e+01</td>\n",
       "      <td>-58.675559</td>\n",
       "      <td>-1.263858e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.232847e-01</th>\n",
       "      <td>-289.018305</td>\n",
       "      <td>331.178403</td>\n",
       "      <td>33.896817</td>\n",
       "      <td>-54.493832</td>\n",
       "      <td>-23.355272</td>\n",
       "      <td>133.424139</td>\n",
       "      <td>-20.880776</td>\n",
       "      <td>-362.967886</td>\n",
       "      <td>103.663876</td>\n",
       "      <td>-0.751650</td>\n",
       "      <td>446.744615</td>\n",
       "      <td>236.335737</td>\n",
       "      <td>-208.378380</td>\n",
       "      <td>78.767153</td>\n",
       "      <td>5.279100e+01</td>\n",
       "      <td>-2.249534e+01</td>\n",
       "      <td>3.127980e+01</td>\n",
       "      <td>-58.753015</td>\n",
       "      <td>-1.271421e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.629751e-01</th>\n",
       "      <td>-288.347168</td>\n",
       "      <td>329.271899</td>\n",
       "      <td>32.793758</td>\n",
       "      <td>-52.804620</td>\n",
       "      <td>-22.342704</td>\n",
       "      <td>132.940509</td>\n",
       "      <td>-22.115246</td>\n",
       "      <td>-354.189515</td>\n",
       "      <td>107.133693</td>\n",
       "      <td>2.725477</td>\n",
       "      <td>437.499504</td>\n",
       "      <td>229.941980</td>\n",
       "      <td>-206.869776</td>\n",
       "      <td>78.768733</td>\n",
       "      <td>5.249248e+01</td>\n",
       "      <td>-2.258410e+01</td>\n",
       "      <td>3.127770e+01</td>\n",
       "      <td>-58.851142</td>\n",
       "      <td>-1.280472e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.154435e-01</th>\n",
       "      <td>-287.434496</td>\n",
       "      <td>326.856363</td>\n",
       "      <td>31.432407</td>\n",
       "      <td>-50.714584</td>\n",
       "      <td>-21.095835</td>\n",
       "      <td>132.323275</td>\n",
       "      <td>-23.663252</td>\n",
       "      <td>-342.962784</td>\n",
       "      <td>110.839893</td>\n",
       "      <td>6.868565</td>\n",
       "      <td>426.195614</td>\n",
       "      <td>222.276521</td>\n",
       "      <td>-205.003076</td>\n",
       "      <td>78.769565</td>\n",
       "      <td>5.210562e+01</td>\n",
       "      <td>-2.269229e+01</td>\n",
       "      <td>3.127020e+01</td>\n",
       "      <td>-58.974127</td>\n",
       "      <td>-1.291080e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.848036e-01</th>\n",
       "      <td>-286.174626</td>\n",
       "      <td>323.799874</td>\n",
       "      <td>29.776493</td>\n",
       "      <td>-48.158325</td>\n",
       "      <td>-19.584479</td>\n",
       "      <td>131.537049</td>\n",
       "      <td>-25.570455</td>\n",
       "      <td>-328.853637</td>\n",
       "      <td>114.618673</td>\n",
       "      <td>11.694015</td>\n",
       "      <td>412.581292</td>\n",
       "      <td>213.282363</td>\n",
       "      <td>-202.708328</td>\n",
       "      <td>78.768062</td>\n",
       "      <td>5.160969e+01</td>\n",
       "      <td>-2.282281e+01</td>\n",
       "      <td>3.125484e+01</td>\n",
       "      <td>-59.126277</td>\n",
       "      <td>-1.303222e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.764936e-01</th>\n",
       "      <td>-284.412637</td>\n",
       "      <td>319.933453</td>\n",
       "      <td>27.795427</td>\n",
       "      <td>-45.071237</td>\n",
       "      <td>-17.785588</td>\n",
       "      <td>130.536990</td>\n",
       "      <td>-27.868634</td>\n",
       "      <td>-311.510974</td>\n",
       "      <td>118.266683</td>\n",
       "      <td>17.165103</td>\n",
       "      <td>396.460241</td>\n",
       "      <td>202.993162</td>\n",
       "      <td>-199.902454</td>\n",
       "      <td>78.761337</td>\n",
       "      <td>5.098244e+01</td>\n",
       "      <td>-2.297874e+01</td>\n",
       "      <td>3.122895e+01</td>\n",
       "      <td>-59.311585</td>\n",
       "      <td>-1.316741e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.977024e-01</th>\n",
       "      <td>-281.929721</td>\n",
       "      <td>315.043932</td>\n",
       "      <td>25.469261</td>\n",
       "      <td>-41.395132</td>\n",
       "      <td>-15.688101</td>\n",
       "      <td>129.267061</td>\n",
       "      <td>-30.563498</td>\n",
       "      <td>-290.758133</td>\n",
       "      <td>121.562135</td>\n",
       "      <td>23.173605</td>\n",
       "      <td>377.731933</td>\n",
       "      <td>191.566715</td>\n",
       "      <td>-196.486803</td>\n",
       "      <td>78.744702</td>\n",
       "      <td>5.020151e+01</td>\n",
       "      <td>-2.316318e+01</td>\n",
       "      <td>3.118989e+01</td>\n",
       "      <td>-59.533088</td>\n",
       "      <td>-1.331292e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6.579332e-01</th>\n",
       "      <td>-278.433249</td>\n",
       "      <td>308.872375</td>\n",
       "      <td>22.793701</td>\n",
       "      <td>-37.086256</td>\n",
       "      <td>-13.297195</td>\n",
       "      <td>127.659284</td>\n",
       "      <td>-33.621595</td>\n",
       "      <td>-266.684662</td>\n",
       "      <td>124.288530</td>\n",
       "      <td>29.526831</td>\n",
       "      <td>356.436000</td>\n",
       "      <td>179.307914</td>\n",
       "      <td>-192.346479</td>\n",
       "      <td>78.711309</td>\n",
       "      <td>4.924595e+01</td>\n",
       "      <td>-2.337886e+01</td>\n",
       "      <td>3.113522e+01</td>\n",
       "      <td>-59.792029</td>\n",
       "      <td>-1.346277e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8.697490e-01</th>\n",
       "      <td>-273.558595</td>\n",
       "      <td>301.123698</td>\n",
       "      <td>19.783829</td>\n",
       "      <td>-32.125597</td>\n",
       "      <td>-10.636221</td>\n",
       "      <td>125.635048</td>\n",
       "      <td>-36.959434</td>\n",
       "      <td>-239.709208</td>\n",
       "      <td>126.253760</td>\n",
       "      <td>35.948336</td>\n",
       "      <td>332.791046</td>\n",
       "      <td>166.665448</td>\n",
       "      <td>-187.353095</td>\n",
       "      <td>78.652111</td>\n",
       "      <td>4.809761e+01</td>\n",
       "      <td>-2.362735e+01</td>\n",
       "      <td>3.106266e+01</td>\n",
       "      <td>-60.086879</td>\n",
       "      <td>-1.360758e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.149757e+00</th>\n",
       "      <td>-266.890105</td>\n",
       "      <td>291.492929</td>\n",
       "      <td>16.475320</td>\n",
       "      <td>-26.530680</td>\n",
       "      <td>-7.744961</td>\n",
       "      <td>123.109540</td>\n",
       "      <td>-40.438469</td>\n",
       "      <td>-210.583789</td>\n",
       "      <td>127.300145</td>\n",
       "      <td>42.100499</td>\n",
       "      <td>307.214424</td>\n",
       "      <td>154.187190</td>\n",
       "      <td>-181.372041</td>\n",
       "      <td>78.556300</td>\n",
       "      <td>4.674195e+01</td>\n",
       "      <td>-2.390776e+01</td>\n",
       "      <td>3.096953e+01</td>\n",
       "      <td>-60.412343</td>\n",
       "      <td>-1.373369e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.519911e+00</th>\n",
       "      <td>-258.005575</td>\n",
       "      <td>279.710832</td>\n",
       "      <td>12.923052</td>\n",
       "      <td>-20.367331</td>\n",
       "      <td>-4.674424</td>\n",
       "      <td>119.999947</td>\n",
       "      <td>-43.868628</td>\n",
       "      <td>-180.324192</td>\n",
       "      <td>127.305895</td>\n",
       "      <td>47.631411</td>\n",
       "      <td>280.310913</td>\n",
       "      <td>142.430759</td>\n",
       "      <td>-174.274284</td>\n",
       "      <td>78.412160</td>\n",
       "      <td>4.516811e+01</td>\n",
       "      <td>-2.421488e+01</td>\n",
       "      <td>3.085165e+01</td>\n",
       "      <td>-60.758512</td>\n",
       "      <td>-1.382217e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.009233e+00</th>\n",
       "      <td>-246.542263</td>\n",
       "      <td>265.606085</td>\n",
       "      <td>9.198875</td>\n",
       "      <td>-13.759325</td>\n",
       "      <td>-1.480894</td>\n",
       "      <td>116.237287</td>\n",
       "      <td>-47.020806</td>\n",
       "      <td>-150.077720</td>\n",
       "      <td>126.182581</td>\n",
       "      <td>52.237426</td>\n",
       "      <td>252.826212</td>\n",
       "      <td>131.847258</td>\n",
       "      <td>-165.951441</td>\n",
       "      <td>78.208010</td>\n",
       "      <td>4.336875e+01</td>\n",
       "      <td>-2.453697e+01</td>\n",
       "      <td>3.070156e+01</td>\n",
       "      <td>-61.110321</td>\n",
       "      <td>-1.384807e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.656088e+00</th>\n",
       "      <td>-232.274429</td>\n",
       "      <td>249.173661</td>\n",
       "      <td>5.391375</td>\n",
       "      <td>-6.892910</td>\n",
       "      <td>1.776560</td>\n",
       "      <td>111.780579</td>\n",
       "      <td>-49.646360</td>\n",
       "      <td>-120.964756</td>\n",
       "      <td>123.874455</td>\n",
       "      <td>55.721764</td>\n",
       "      <td>225.571654</td>\n",
       "      <td>122.676723</td>\n",
       "      <td>-156.332015</td>\n",
       "      <td>77.932667</td>\n",
       "      <td>4.134020e+01</td>\n",
       "      <td>-2.485366e+01</td>\n",
       "      <td>3.050631e+01</td>\n",
       "      <td>-61.447442</td>\n",
       "      <td>-1.378001e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.511192e+00</th>\n",
       "      <td>-215.185845</td>\n",
       "      <td>230.631653</td>\n",
       "      <td>1.609253</td>\n",
       "      <td>-0.012130</td>\n",
       "      <td>5.032440</td>\n",
       "      <td>106.630996</td>\n",
       "      <td>-51.500421</td>\n",
       "      <td>-93.938942</td>\n",
       "      <td>120.363659</td>\n",
       "      <td>58.026847</td>\n",
       "      <td>199.334220</td>\n",
       "      <td>114.898066</td>\n",
       "      <td>-145.396867</td>\n",
       "      <td>77.574945</td>\n",
       "      <td>3.908374e+01</td>\n",
       "      <td>-2.513453e+01</td>\n",
       "      <td>3.024533e+01</td>\n",
       "      <td>-61.744654</td>\n",
       "      <td>-1.358057e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.641589e+00</th>\n",
       "      <td>-195.518282</td>\n",
       "      <td>210.444945</td>\n",
       "      <td>-2.013798</td>\n",
       "      <td>6.599337</td>\n",
       "      <td>8.207201</td>\n",
       "      <td>100.842933</td>\n",
       "      <td>-52.366044</td>\n",
       "      <td>-69.697736</td>\n",
       "      <td>115.681544</td>\n",
       "      <td>59.227344</td>\n",
       "      <td>174.788893</td>\n",
       "      <td>108.256809</td>\n",
       "      <td>-133.193225</td>\n",
       "      <td>77.122060</td>\n",
       "      <td>3.660804e+01</td>\n",
       "      <td>-2.533923e+01</td>\n",
       "      <td>2.988929e+01</td>\n",
       "      <td>-61.972595</td>\n",
       "      <td>-1.320811e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6.135907e+00</th>\n",
       "      <td>-173.779903</td>\n",
       "      <td>189.297734</td>\n",
       "      <td>-5.318544</td>\n",
       "      <td>12.651556</td>\n",
       "      <td>11.202900</td>\n",
       "      <td>94.528900</td>\n",
       "      <td>-52.076952</td>\n",
       "      <td>-48.651004</td>\n",
       "      <td>109.922205</td>\n",
       "      <td>59.487901</td>\n",
       "      <td>152.430524</td>\n",
       "      <td>102.359873</td>\n",
       "      <td>-119.847595</td>\n",
       "      <td>76.557388</td>\n",
       "      <td>3.393235e+01</td>\n",
       "      <td>-2.541979e+01</td>\n",
       "      <td>2.940122e+01</td>\n",
       "      <td>-62.098583</td>\n",
       "      <td>-1.262049e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8.111308e+00</th>\n",
       "      <td>-150.705717</td>\n",
       "      <td>168.010262</td>\n",
       "      <td>-8.130143</td>\n",
       "      <td>17.892680</td>\n",
       "      <td>13.910109</td>\n",
       "      <td>87.855871</td>\n",
       "      <td>-50.536865</td>\n",
       "      <td>-30.936045</td>\n",
       "      <td>103.251721</td>\n",
       "      <td>59.004315</td>\n",
       "      <td>132.539822</td>\n",
       "      <td>96.798243</td>\n",
       "      <td>-105.576914</td>\n",
       "      <td>75.858294</td>\n",
       "      <td>3.108922e+01</td>\n",
       "      <td>-2.532521e+01</td>\n",
       "      <td>2.874064e+01</td>\n",
       "      <td>-62.087133</td>\n",
       "      <td>-1.178114e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.072267e+01</th>\n",
       "      <td>-127.174191</td>\n",
       "      <td>147.415566</td>\n",
       "      <td>-10.280118</td>\n",
       "      <td>22.152824</td>\n",
       "      <td>16.228240</td>\n",
       "      <td>81.032146</td>\n",
       "      <td>-47.733421</td>\n",
       "      <td>-16.460836</td>\n",
       "      <td>95.906646</td>\n",
       "      <td>57.951387</td>\n",
       "      <td>115.190295</td>\n",
       "      <td>91.251580</td>\n",
       "      <td>-90.693497</td>\n",
       "      <td>74.994659</td>\n",
       "      <td>2.812537e+01</td>\n",
       "      <td>-2.500772e+01</td>\n",
       "      <td>2.787092e+01</td>\n",
       "      <td>-61.899887</td>\n",
       "      <td>-1.066713e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.417474e+01</th>\n",
       "      <td>-104.096568</td>\n",
       "      <td>128.230581</td>\n",
       "      <td>-11.634909</td>\n",
       "      <td>25.372330</td>\n",
       "      <td>18.092186</td>\n",
       "      <td>74.285593</td>\n",
       "      <td>-43.744678</td>\n",
       "      <td>-4.960639</td>\n",
       "      <td>88.178075</td>\n",
       "      <td>56.454143</td>\n",
       "      <td>100.290103</td>\n",
       "      <td>85.544630</td>\n",
       "      <td>-75.595555</td>\n",
       "      <td>73.928291</td>\n",
       "      <td>2.509966e+01</td>\n",
       "      <td>-2.442941e+01</td>\n",
       "      <td>2.676837e+01</td>\n",
       "      <td>-61.495060</td>\n",
       "      <td>-9.277525e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.873817e+01</th>\n",
       "      <td>-82.303359</td>\n",
       "      <td>110.960581</td>\n",
       "      <td>-12.121087</td>\n",
       "      <td>27.603066</td>\n",
       "      <td>19.492407</td>\n",
       "      <td>67.836188</td>\n",
       "      <td>-38.736537</td>\n",
       "      <td>3.941055</td>\n",
       "      <td>80.382083</td>\n",
       "      <td>54.587012</td>\n",
       "      <td>87.641248</td>\n",
       "      <td>79.650585</td>\n",
       "      <td>-60.736336</td>\n",
       "      <td>72.613192</td>\n",
       "      <td>2.207833e+01</td>\n",
       "      <td>-2.356769e+01</td>\n",
       "      <td>2.543058e+01</td>\n",
       "      <td>-60.826839</td>\n",
       "      <td>-7.640021e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.477076e+01</th>\n",
       "      <td>-62.452562</td>\n",
       "      <td>95.862066</td>\n",
       "      <td>-11.738535</td>\n",
       "      <td>28.982230</td>\n",
       "      <td>20.477924</td>\n",
       "      <td>61.867689</td>\n",
       "      <td>-32.950083</td>\n",
       "      <td>10.672908</td>\n",
       "      <td>72.822051</td>\n",
       "      <td>52.394362</td>\n",
       "      <td>76.995691</td>\n",
       "      <td>73.656424</td>\n",
       "      <td>-46.573298</td>\n",
       "      <td>70.996837</td>\n",
       "      <td>1.912871e+01</td>\n",
       "      <td>-2.241859e+01</td>\n",
       "      <td>2.388075e+01</td>\n",
       "      <td>-59.845382</td>\n",
       "      <td>-5.813232e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.274549e+01</th>\n",
       "      <td>-44.976576</td>\n",
       "      <td>82.964249</td>\n",
       "      <td>-10.558509</td>\n",
       "      <td>29.689798</td>\n",
       "      <td>21.140542</td>\n",
       "      <td>56.504478</td>\n",
       "      <td>-26.679068</td>\n",
       "      <td>15.662825</td>\n",
       "      <td>65.751664</td>\n",
       "      <td>49.919316</td>\n",
       "      <td>68.094937</td>\n",
       "      <td>67.712406</td>\n",
       "      <td>-33.509807</td>\n",
       "      <td>69.023051</td>\n",
       "      <td>1.631338e+01</td>\n",
       "      <td>-2.099771e+01</td>\n",
       "      <td>2.216591e+01</td>\n",
       "      <td>-58.498132</td>\n",
       "      <td>-3.882944e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.053856e+06</th>\n",
       "      <td>0.015299</td>\n",
       "      <td>0.017001</td>\n",
       "      <td>0.013292</td>\n",
       "      <td>0.016271</td>\n",
       "      <td>0.017418</td>\n",
       "      <td>0.017202</td>\n",
       "      <td>0.015525</td>\n",
       "      <td>0.020389</td>\n",
       "      <td>0.021272</td>\n",
       "      <td>0.020342</td>\n",
       "      <td>0.021805</td>\n",
       "      <td>0.021971</td>\n",
       "      <td>0.018981</td>\n",
       "      <td>0.011647</td>\n",
       "      <td>9.859308e-04</td>\n",
       "      <td>-2.096235e-04</td>\n",
       "      <td>-5.518819e-04</td>\n",
       "      <td>-0.007463</td>\n",
       "      <td>-1.085687e-04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.037017e+06</th>\n",
       "      <td>0.011575</td>\n",
       "      <td>0.012862</td>\n",
       "      <td>0.010057</td>\n",
       "      <td>0.012310</td>\n",
       "      <td>0.013178</td>\n",
       "      <td>0.013015</td>\n",
       "      <td>0.011746</td>\n",
       "      <td>0.015426</td>\n",
       "      <td>0.016094</td>\n",
       "      <td>0.015390</td>\n",
       "      <td>0.016497</td>\n",
       "      <td>0.016623</td>\n",
       "      <td>0.014361</td>\n",
       "      <td>0.008812</td>\n",
       "      <td>7.458939e-04</td>\n",
       "      <td>-1.585352e-04</td>\n",
       "      <td>-4.178320e-04</td>\n",
       "      <td>-0.005646</td>\n",
       "      <td>-8.237537e-05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5.336699e+06</th>\n",
       "      <td>0.008757</td>\n",
       "      <td>0.009731</td>\n",
       "      <td>0.007609</td>\n",
       "      <td>0.009313</td>\n",
       "      <td>0.009970</td>\n",
       "      <td>0.009846</td>\n",
       "      <td>0.008887</td>\n",
       "      <td>0.011670</td>\n",
       "      <td>0.012176</td>\n",
       "      <td>0.011644</td>\n",
       "      <td>0.012481</td>\n",
       "      <td>0.012576</td>\n",
       "      <td>0.010865</td>\n",
       "      <td>0.006666</td>\n",
       "      <td>5.642834e-04</td>\n",
       "      <td>-1.199048e-04</td>\n",
       "      <td>-3.162769e-04</td>\n",
       "      <td>-0.004271</td>\n",
       "      <td>-6.245541e-05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7.054802e+06</th>\n",
       "      <td>0.006625</td>\n",
       "      <td>0.007362</td>\n",
       "      <td>0.005756</td>\n",
       "      <td>0.007046</td>\n",
       "      <td>0.007542</td>\n",
       "      <td>0.007449</td>\n",
       "      <td>0.006723</td>\n",
       "      <td>0.008829</td>\n",
       "      <td>0.009211</td>\n",
       "      <td>0.008809</td>\n",
       "      <td>0.009442</td>\n",
       "      <td>0.009514</td>\n",
       "      <td>0.008220</td>\n",
       "      <td>0.005043</td>\n",
       "      <td>4.268837e-04</td>\n",
       "      <td>-9.069139e-05</td>\n",
       "      <td>-2.393678e-04</td>\n",
       "      <td>-0.003231</td>\n",
       "      <td>-4.732621e-05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9.326033e+06</th>\n",
       "      <td>0.005012</td>\n",
       "      <td>0.005569</td>\n",
       "      <td>0.004355</td>\n",
       "      <td>0.005330</td>\n",
       "      <td>0.005706</td>\n",
       "      <td>0.005635</td>\n",
       "      <td>0.005086</td>\n",
       "      <td>0.006679</td>\n",
       "      <td>0.006968</td>\n",
       "      <td>0.006664</td>\n",
       "      <td>0.007143</td>\n",
       "      <td>0.007198</td>\n",
       "      <td>0.006218</td>\n",
       "      <td>0.003815</td>\n",
       "      <td>3.229357e-04</td>\n",
       "      <td>-6.859773e-05</td>\n",
       "      <td>-1.811392e-04</td>\n",
       "      <td>-0.002444</td>\n",
       "      <td>-3.584689e-05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.232847e+07</th>\n",
       "      <td>0.003791</td>\n",
       "      <td>0.004213</td>\n",
       "      <td>0.003294</td>\n",
       "      <td>0.004032</td>\n",
       "      <td>0.004317</td>\n",
       "      <td>0.004263</td>\n",
       "      <td>0.003848</td>\n",
       "      <td>0.005053</td>\n",
       "      <td>0.005272</td>\n",
       "      <td>0.005041</td>\n",
       "      <td>0.005404</td>\n",
       "      <td>0.005445</td>\n",
       "      <td>0.004704</td>\n",
       "      <td>0.002886</td>\n",
       "      <td>2.442969e-04</td>\n",
       "      <td>-5.188768e-05</td>\n",
       "      <td>-1.370631e-04</td>\n",
       "      <td>-0.001849</td>\n",
       "      <td>-2.714338e-05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.629751e+07</th>\n",
       "      <td>0.002868</td>\n",
       "      <td>0.003187</td>\n",
       "      <td>0.002492</td>\n",
       "      <td>0.003050</td>\n",
       "      <td>0.003265</td>\n",
       "      <td>0.003225</td>\n",
       "      <td>0.002911</td>\n",
       "      <td>0.003822</td>\n",
       "      <td>0.003988</td>\n",
       "      <td>0.003814</td>\n",
       "      <td>0.004088</td>\n",
       "      <td>0.004119</td>\n",
       "      <td>0.003559</td>\n",
       "      <td>0.002183</td>\n",
       "      <td>1.848061e-04</td>\n",
       "      <td>-3.924884e-05</td>\n",
       "      <td>-1.037049e-04</td>\n",
       "      <td>-0.001399</td>\n",
       "      <td>-2.054815e-05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.154435e+07</th>\n",
       "      <td>0.002170</td>\n",
       "      <td>0.002411</td>\n",
       "      <td>0.001885</td>\n",
       "      <td>0.002308</td>\n",
       "      <td>0.002470</td>\n",
       "      <td>0.002440</td>\n",
       "      <td>0.002202</td>\n",
       "      <td>0.002892</td>\n",
       "      <td>0.003017</td>\n",
       "      <td>0.002885</td>\n",
       "      <td>0.003092</td>\n",
       "      <td>0.003116</td>\n",
       "      <td>0.002692</td>\n",
       "      <td>0.001652</td>\n",
       "      <td>1.398016e-04</td>\n",
       "      <td>-2.968900e-05</td>\n",
       "      <td>-7.846142e-05</td>\n",
       "      <td>-0.001058</td>\n",
       "      <td>-1.555261e-05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.848036e+07</th>\n",
       "      <td>0.001641</td>\n",
       "      <td>0.001824</td>\n",
       "      <td>0.001426</td>\n",
       "      <td>0.001746</td>\n",
       "      <td>0.001869</td>\n",
       "      <td>0.001845</td>\n",
       "      <td>0.001666</td>\n",
       "      <td>0.002187</td>\n",
       "      <td>0.002282</td>\n",
       "      <td>0.002182</td>\n",
       "      <td>0.002339</td>\n",
       "      <td>0.002357</td>\n",
       "      <td>0.002036</td>\n",
       "      <td>0.001249</td>\n",
       "      <td>1.057563e-04</td>\n",
       "      <td>-2.245789e-05</td>\n",
       "      <td>-5.936030e-05</td>\n",
       "      <td>-0.000800</td>\n",
       "      <td>-1.176995e-05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.764936e+07</th>\n",
       "      <td>0.001242</td>\n",
       "      <td>0.001380</td>\n",
       "      <td>0.001079</td>\n",
       "      <td>0.001321</td>\n",
       "      <td>0.001414</td>\n",
       "      <td>0.001396</td>\n",
       "      <td>0.001260</td>\n",
       "      <td>0.001655</td>\n",
       "      <td>0.001726</td>\n",
       "      <td>0.001651</td>\n",
       "      <td>0.001770</td>\n",
       "      <td>0.001783</td>\n",
       "      <td>0.001541</td>\n",
       "      <td>0.000945</td>\n",
       "      <td>8.000160e-05</td>\n",
       "      <td>-1.698814e-05</td>\n",
       "      <td>-4.490796e-05</td>\n",
       "      <td>-0.000606</td>\n",
       "      <td>-8.906381e-06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.977024e+07</th>\n",
       "      <td>0.000939</td>\n",
       "      <td>0.001044</td>\n",
       "      <td>0.000816</td>\n",
       "      <td>0.000999</td>\n",
       "      <td>0.001069</td>\n",
       "      <td>0.001056</td>\n",
       "      <td>0.000953</td>\n",
       "      <td>0.001252</td>\n",
       "      <td>0.001306</td>\n",
       "      <td>0.001249</td>\n",
       "      <td>0.001339</td>\n",
       "      <td>0.001349</td>\n",
       "      <td>0.001165</td>\n",
       "      <td>0.000715</td>\n",
       "      <td>6.051876e-05</td>\n",
       "      <td>-1.285066e-05</td>\n",
       "      <td>-3.397355e-05</td>\n",
       "      <td>-0.000458</td>\n",
       "      <td>-6.738979e-06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6.579332e+07</th>\n",
       "      <td>0.000711</td>\n",
       "      <td>0.000790</td>\n",
       "      <td>0.000617</td>\n",
       "      <td>0.000756</td>\n",
       "      <td>0.000809</td>\n",
       "      <td>0.000799</td>\n",
       "      <td>0.000721</td>\n",
       "      <td>0.000947</td>\n",
       "      <td>0.000988</td>\n",
       "      <td>0.000945</td>\n",
       "      <td>0.001013</td>\n",
       "      <td>0.001020</td>\n",
       "      <td>0.000882</td>\n",
       "      <td>0.000541</td>\n",
       "      <td>4.578050e-05</td>\n",
       "      <td>-9.720915e-06</td>\n",
       "      <td>-2.570108e-05</td>\n",
       "      <td>-0.000346</td>\n",
       "      <td>-5.098722e-06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8.697490e+07</th>\n",
       "      <td>0.000537</td>\n",
       "      <td>0.000597</td>\n",
       "      <td>0.000467</td>\n",
       "      <td>0.000572</td>\n",
       "      <td>0.000612</td>\n",
       "      <td>0.000604</td>\n",
       "      <td>0.000545</td>\n",
       "      <td>0.000716</td>\n",
       "      <td>0.000747</td>\n",
       "      <td>0.000715</td>\n",
       "      <td>0.000766</td>\n",
       "      <td>0.000772</td>\n",
       "      <td>0.000667</td>\n",
       "      <td>0.000409</td>\n",
       "      <td>3.463142e-05</td>\n",
       "      <td>-7.353435e-06</td>\n",
       "      <td>-1.944269e-05</td>\n",
       "      <td>-0.000262</td>\n",
       "      <td>-3.857530e-06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.149757e+08</th>\n",
       "      <td>0.000407</td>\n",
       "      <td>0.000452</td>\n",
       "      <td>0.000353</td>\n",
       "      <td>0.000432</td>\n",
       "      <td>0.000463</td>\n",
       "      <td>0.000457</td>\n",
       "      <td>0.000413</td>\n",
       "      <td>0.000542</td>\n",
       "      <td>0.000565</td>\n",
       "      <td>0.000541</td>\n",
       "      <td>0.000580</td>\n",
       "      <td>0.000584</td>\n",
       "      <td>0.000504</td>\n",
       "      <td>0.000309</td>\n",
       "      <td>2.619749e-05</td>\n",
       "      <td>-5.562558e-06</td>\n",
       "      <td>-1.470812e-05</td>\n",
       "      <td>-0.000198</td>\n",
       "      <td>-2.918385e-06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.519911e+08</th>\n",
       "      <td>0.000308</td>\n",
       "      <td>0.000342</td>\n",
       "      <td>0.000267</td>\n",
       "      <td>0.000327</td>\n",
       "      <td>0.000350</td>\n",
       "      <td>0.000346</td>\n",
       "      <td>0.000312</td>\n",
       "      <td>0.000410</td>\n",
       "      <td>0.000428</td>\n",
       "      <td>0.000409</td>\n",
       "      <td>0.000438</td>\n",
       "      <td>0.000442</td>\n",
       "      <td>0.000382</td>\n",
       "      <td>0.000234</td>\n",
       "      <td>1.981749e-05</td>\n",
       "      <td>-4.207845e-06</td>\n",
       "      <td>-1.112640e-05</td>\n",
       "      <td>-0.000150</td>\n",
       "      <td>-2.207826e-06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.009233e+08</th>\n",
       "      <td>0.000233</td>\n",
       "      <td>0.000259</td>\n",
       "      <td>0.000202</td>\n",
       "      <td>0.000247</td>\n",
       "      <td>0.000265</td>\n",
       "      <td>0.000262</td>\n",
       "      <td>0.000236</td>\n",
       "      <td>0.000310</td>\n",
       "      <td>0.000324</td>\n",
       "      <td>0.000309</td>\n",
       "      <td>0.000332</td>\n",
       "      <td>0.000334</td>\n",
       "      <td>0.000289</td>\n",
       "      <td>0.000177</td>\n",
       "      <td>1.499124e-05</td>\n",
       "      <td>-3.183065e-06</td>\n",
       "      <td>-8.416856e-06</td>\n",
       "      <td>-0.000113</td>\n",
       "      <td>-1.670239e-06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.656088e+08</th>\n",
       "      <td>0.000176</td>\n",
       "      <td>0.000196</td>\n",
       "      <td>0.000153</td>\n",
       "      <td>0.000187</td>\n",
       "      <td>0.000200</td>\n",
       "      <td>0.000198</td>\n",
       "      <td>0.000179</td>\n",
       "      <td>0.000235</td>\n",
       "      <td>0.000245</td>\n",
       "      <td>0.000234</td>\n",
       "      <td>0.000251</td>\n",
       "      <td>0.000253</td>\n",
       "      <td>0.000218</td>\n",
       "      <td>0.000134</td>\n",
       "      <td>1.134034e-05</td>\n",
       "      <td>-2.407864e-06</td>\n",
       "      <td>-6.367125e-06</td>\n",
       "      <td>-0.000086</td>\n",
       "      <td>-1.263532e-06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.511192e+08</th>\n",
       "      <td>0.000133</td>\n",
       "      <td>0.000148</td>\n",
       "      <td>0.000116</td>\n",
       "      <td>0.000142</td>\n",
       "      <td>0.000152</td>\n",
       "      <td>0.000150</td>\n",
       "      <td>0.000135</td>\n",
       "      <td>0.000177</td>\n",
       "      <td>0.000185</td>\n",
       "      <td>0.000177</td>\n",
       "      <td>0.000190</td>\n",
       "      <td>0.000191</td>\n",
       "      <td>0.000165</td>\n",
       "      <td>0.000101</td>\n",
       "      <td>8.578560e-06</td>\n",
       "      <td>-1.821456e-06</td>\n",
       "      <td>-4.816543e-06</td>\n",
       "      <td>-0.000065</td>\n",
       "      <td>-9.558481e-07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.641589e+08</th>\n",
       "      <td>0.000101</td>\n",
       "      <td>0.000112</td>\n",
       "      <td>0.000088</td>\n",
       "      <td>0.000107</td>\n",
       "      <td>0.000115</td>\n",
       "      <td>0.000113</td>\n",
       "      <td>0.000102</td>\n",
       "      <td>0.000134</td>\n",
       "      <td>0.000140</td>\n",
       "      <td>0.000134</td>\n",
       "      <td>0.000144</td>\n",
       "      <td>0.000145</td>\n",
       "      <td>0.000125</td>\n",
       "      <td>0.000077</td>\n",
       "      <td>6.489372e-06</td>\n",
       "      <td>-1.377862e-06</td>\n",
       "      <td>-3.643565e-06</td>\n",
       "      <td>-0.000049</td>\n",
       "      <td>-7.230828e-07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6.135907e+08</th>\n",
       "      <td>0.000076</td>\n",
       "      <td>0.000085</td>\n",
       "      <td>0.000066</td>\n",
       "      <td>0.000081</td>\n",
       "      <td>0.000087</td>\n",
       "      <td>0.000086</td>\n",
       "      <td>0.000077</td>\n",
       "      <td>0.000102</td>\n",
       "      <td>0.000106</td>\n",
       "      <td>0.000101</td>\n",
       "      <td>0.000109</td>\n",
       "      <td>0.000109</td>\n",
       "      <td>0.000095</td>\n",
       "      <td>0.000058</td>\n",
       "      <td>4.908975e-06</td>\n",
       "      <td>-1.042300e-06</td>\n",
       "      <td>-2.756239e-06</td>\n",
       "      <td>-0.000037</td>\n",
       "      <td>-5.469963e-07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8.111308e+08</th>\n",
       "      <td>0.000058</td>\n",
       "      <td>0.000064</td>\n",
       "      <td>0.000050</td>\n",
       "      <td>0.000061</td>\n",
       "      <td>0.000066</td>\n",
       "      <td>0.000065</td>\n",
       "      <td>0.000058</td>\n",
       "      <td>0.000077</td>\n",
       "      <td>0.000080</td>\n",
       "      <td>0.000077</td>\n",
       "      <td>0.000082</td>\n",
       "      <td>0.000083</td>\n",
       "      <td>0.000072</td>\n",
       "      <td>0.000044</td>\n",
       "      <td>3.713461e-06</td>\n",
       "      <td>-7.884609e-07</td>\n",
       "      <td>-2.085002e-06</td>\n",
       "      <td>-0.000028</td>\n",
       "      <td>-4.137888e-07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.072267e+09</th>\n",
       "      <td>0.000044</td>\n",
       "      <td>0.000048</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000046</td>\n",
       "      <td>0.000050</td>\n",
       "      <td>0.000049</td>\n",
       "      <td>0.000044</td>\n",
       "      <td>0.000058</td>\n",
       "      <td>0.000061</td>\n",
       "      <td>0.000058</td>\n",
       "      <td>0.000062</td>\n",
       "      <td>0.000063</td>\n",
       "      <td>0.000054</td>\n",
       "      <td>0.000033</td>\n",
       "      <td>2.809098e-06</td>\n",
       "      <td>-5.964412e-07</td>\n",
       "      <td>-1.577233e-06</td>\n",
       "      <td>-0.000021</td>\n",
       "      <td>-3.130195e-07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.417474e+09</th>\n",
       "      <td>0.000033</td>\n",
       "      <td>0.000037</td>\n",
       "      <td>0.000029</td>\n",
       "      <td>0.000035</td>\n",
       "      <td>0.000038</td>\n",
       "      <td>0.000037</td>\n",
       "      <td>0.000033</td>\n",
       "      <td>0.000044</td>\n",
       "      <td>0.000046</td>\n",
       "      <td>0.000044</td>\n",
       "      <td>0.000047</td>\n",
       "      <td>0.000047</td>\n",
       "      <td>0.000041</td>\n",
       "      <td>0.000025</td>\n",
       "      <td>2.124980e-06</td>\n",
       "      <td>-4.511856e-07</td>\n",
       "      <td>-1.193122e-06</td>\n",
       "      <td>-0.000016</td>\n",
       "      <td>-2.367898e-07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.873817e+09</th>\n",
       "      <td>0.000025</td>\n",
       "      <td>0.000028</td>\n",
       "      <td>0.000022</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000028</td>\n",
       "      <td>0.000028</td>\n",
       "      <td>0.000025</td>\n",
       "      <td>0.000033</td>\n",
       "      <td>0.000035</td>\n",
       "      <td>0.000033</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000036</td>\n",
       "      <td>0.000031</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>1.607470e-06</td>\n",
       "      <td>-3.413052e-07</td>\n",
       "      <td>-9.025544e-07</td>\n",
       "      <td>-0.000012</td>\n",
       "      <td>-1.791240e-07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.477076e+09</th>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000021</td>\n",
       "      <td>0.000016</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000021</td>\n",
       "      <td>0.000021</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000025</td>\n",
       "      <td>0.000026</td>\n",
       "      <td>0.000025</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000027</td>\n",
       "      <td>0.000023</td>\n",
       "      <td>0.000014</td>\n",
       "      <td>1.215992e-06</td>\n",
       "      <td>-2.581848e-07</td>\n",
       "      <td>-6.827502e-07</td>\n",
       "      <td>-0.000009</td>\n",
       "      <td>-1.355014e-07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.274549e+09</th>\n",
       "      <td>0.000014</td>\n",
       "      <td>0.000016</td>\n",
       "      <td>0.000012</td>\n",
       "      <td>0.000015</td>\n",
       "      <td>0.000016</td>\n",
       "      <td>0.000016</td>\n",
       "      <td>0.000014</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000019</td>\n",
       "      <td>0.000020</td>\n",
       "      <td>0.000021</td>\n",
       "      <td>0.000018</td>\n",
       "      <td>0.000011</td>\n",
       "      <td>9.198538e-07</td>\n",
       "      <td>-1.953073e-07</td>\n",
       "      <td>-5.164761e-07</td>\n",
       "      <td>-0.000007</td>\n",
       "      <td>-1.025022e-07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.328761e+09</th>\n",
       "      <td>0.000011</td>\n",
       "      <td>0.000012</td>\n",
       "      <td>0.000009</td>\n",
       "      <td>0.000011</td>\n",
       "      <td>0.000012</td>\n",
       "      <td>0.000012</td>\n",
       "      <td>0.000011</td>\n",
       "      <td>0.000014</td>\n",
       "      <td>0.000015</td>\n",
       "      <td>0.000014</td>\n",
       "      <td>0.000015</td>\n",
       "      <td>0.000016</td>\n",
       "      <td>0.000013</td>\n",
       "      <td>0.000008</td>\n",
       "      <td>6.958357e-07</td>\n",
       "      <td>-1.477427e-07</td>\n",
       "      <td>-3.906955e-07</td>\n",
       "      <td>-0.000005</td>\n",
       "      <td>-7.753936e-08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5.722368e+09</th>\n",
       "      <td>0.000008</td>\n",
       "      <td>0.000009</td>\n",
       "      <td>0.000007</td>\n",
       "      <td>0.000009</td>\n",
       "      <td>0.000009</td>\n",
       "      <td>0.000009</td>\n",
       "      <td>0.000008</td>\n",
       "      <td>0.000011</td>\n",
       "      <td>0.000011</td>\n",
       "      <td>0.000011</td>\n",
       "      <td>0.000012</td>\n",
       "      <td>0.000012</td>\n",
       "      <td>0.000010</td>\n",
       "      <td>0.000006</td>\n",
       "      <td>5.263742e-07</td>\n",
       "      <td>-1.117620e-07</td>\n",
       "      <td>-2.955470e-07</td>\n",
       "      <td>-0.000004</td>\n",
       "      <td>-5.865581e-08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7.564633e+09</th>\n",
       "      <td>0.000006</td>\n",
       "      <td>0.000007</td>\n",
       "      <td>0.000005</td>\n",
       "      <td>0.000007</td>\n",
       "      <td>0.000007</td>\n",
       "      <td>0.000007</td>\n",
       "      <td>0.000006</td>\n",
       "      <td>0.000008</td>\n",
       "      <td>0.000009</td>\n",
       "      <td>0.000008</td>\n",
       "      <td>0.000009</td>\n",
       "      <td>0.000009</td>\n",
       "      <td>0.000008</td>\n",
       "      <td>0.000005</td>\n",
       "      <td>3.981828e-07</td>\n",
       "      <td>-8.454381e-08</td>\n",
       "      <td>-2.235706e-07</td>\n",
       "      <td>-0.000003</td>\n",
       "      <td>-4.437104e-08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.000000e+10</th>\n",
       "      <td>0.000005</td>\n",
       "      <td>0.000005</td>\n",
       "      <td>0.000004</td>\n",
       "      <td>0.000005</td>\n",
       "      <td>0.000005</td>\n",
       "      <td>0.000005</td>\n",
       "      <td>0.000005</td>\n",
       "      <td>0.000006</td>\n",
       "      <td>0.000007</td>\n",
       "      <td>0.000006</td>\n",
       "      <td>0.000007</td>\n",
       "      <td>0.000007</td>\n",
       "      <td>0.000006</td>\n",
       "      <td>0.000004</td>\n",
       "      <td>3.012107e-07</td>\n",
       "      <td>-6.395428e-08</td>\n",
       "      <td>-1.691230e-07</td>\n",
       "      <td>-0.000002</td>\n",
       "      <td>-3.356510e-08</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>100 rows × 19 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                      0           1          2          3          4   \\\n",
       "1.000000e-02 -290.918728  337.229910  37.495419 -60.017790 -26.665375   \n",
       "1.321941e-02 -290.862746  337.039648  37.381713 -59.842092 -26.560787   \n",
       "1.747528e-02 -290.789150  336.790313  37.232619 -59.611894 -26.423634   \n",
       "2.310130e-02 -290.692507  336.464367  37.037600 -59.311089 -26.244216   \n",
       "3.053856e-02 -290.565733  336.039547  36.783312 -58.919331 -26.010245   \n",
       "4.037017e-02 -290.399549  335.487850  36.453059 -58.411247 -25.706350   \n",
       "5.336699e-02 -290.181690  334.774358  36.026278 -57.755665 -25.313619   \n",
       "7.054802e-02 -289.895649  333.855863  35.478148 -56.914983 -24.809266   \n",
       "9.326033e-02 -289.518653  332.679118  34.779442 -55.844782 -24.166567   \n",
       "1.232847e-01 -289.018305  331.178403  33.896817 -54.493832 -23.355272   \n",
       "1.629751e-01 -288.347168  329.271899  32.793758 -52.804620 -22.342704   \n",
       "2.154435e-01 -287.434496  326.856363  31.432407 -50.714584 -21.095835   \n",
       "2.848036e-01 -286.174626  323.799874  29.776493 -48.158325 -19.584479   \n",
       "3.764936e-01 -284.412637  319.933453  27.795427 -45.071237 -17.785588   \n",
       "4.977024e-01 -281.929721  315.043932  25.469261 -41.395132 -15.688101   \n",
       "6.579332e-01 -278.433249  308.872375  22.793701 -37.086256 -13.297195   \n",
       "8.697490e-01 -273.558595  301.123698  19.783829 -32.125597 -10.636221   \n",
       "1.149757e+00 -266.890105  291.492929  16.475320 -26.530680  -7.744961   \n",
       "1.519911e+00 -258.005575  279.710832  12.923052 -20.367331  -4.674424   \n",
       "2.009233e+00 -246.542263  265.606085   9.198875 -13.759325  -1.480894   \n",
       "2.656088e+00 -232.274429  249.173661   5.391375  -6.892910   1.776560   \n",
       "3.511192e+00 -215.185845  230.631653   1.609253  -0.012130   5.032440   \n",
       "4.641589e+00 -195.518282  210.444945  -2.013798   6.599337   8.207201   \n",
       "6.135907e+00 -173.779903  189.297734  -5.318544  12.651556  11.202900   \n",
       "8.111308e+00 -150.705717  168.010262  -8.130143  17.892680  13.910109   \n",
       "1.072267e+01 -127.174191  147.415566 -10.280118  22.152824  16.228240   \n",
       "1.417474e+01 -104.096568  128.230581 -11.634909  25.372330  18.092186   \n",
       "1.873817e+01  -82.303359  110.960581 -12.121087  27.603066  19.492407   \n",
       "2.477076e+01  -62.452562   95.862066 -11.738535  28.982230  20.477924   \n",
       "3.274549e+01  -44.976576   82.964249 -10.558509  29.689798  21.140542   \n",
       "...                  ...         ...        ...        ...        ...   \n",
       "3.053856e+06    0.015299    0.017001   0.013292   0.016271   0.017418   \n",
       "4.037017e+06    0.011575    0.012862   0.010057   0.012310   0.013178   \n",
       "5.336699e+06    0.008757    0.009731   0.007609   0.009313   0.009970   \n",
       "7.054802e+06    0.006625    0.007362   0.005756   0.007046   0.007542   \n",
       "9.326033e+06    0.005012    0.005569   0.004355   0.005330   0.005706   \n",
       "1.232847e+07    0.003791    0.004213   0.003294   0.004032   0.004317   \n",
       "1.629751e+07    0.002868    0.003187   0.002492   0.003050   0.003265   \n",
       "2.154435e+07    0.002170    0.002411   0.001885   0.002308   0.002470   \n",
       "2.848036e+07    0.001641    0.001824   0.001426   0.001746   0.001869   \n",
       "3.764936e+07    0.001242    0.001380   0.001079   0.001321   0.001414   \n",
       "4.977024e+07    0.000939    0.001044   0.000816   0.000999   0.001069   \n",
       "6.579332e+07    0.000711    0.000790   0.000617   0.000756   0.000809   \n",
       "8.697490e+07    0.000537    0.000597   0.000467   0.000572   0.000612   \n",
       "1.149757e+08    0.000407    0.000452   0.000353   0.000432   0.000463   \n",
       "1.519911e+08    0.000308    0.000342   0.000267   0.000327   0.000350   \n",
       "2.009233e+08    0.000233    0.000259   0.000202   0.000247   0.000265   \n",
       "2.656088e+08    0.000176    0.000196   0.000153   0.000187   0.000200   \n",
       "3.511192e+08    0.000133    0.000148   0.000116   0.000142   0.000152   \n",
       "4.641589e+08    0.000101    0.000112   0.000088   0.000107   0.000115   \n",
       "6.135907e+08    0.000076    0.000085   0.000066   0.000081   0.000087   \n",
       "8.111308e+08    0.000058    0.000064   0.000050   0.000061   0.000066   \n",
       "1.072267e+09    0.000044    0.000048   0.000038   0.000046   0.000050   \n",
       "1.417474e+09    0.000033    0.000037   0.000029   0.000035   0.000038   \n",
       "1.873817e+09    0.000025    0.000028   0.000022   0.000027   0.000028   \n",
       "2.477076e+09    0.000019    0.000021   0.000016   0.000020   0.000021   \n",
       "3.274549e+09    0.000014    0.000016   0.000012   0.000015   0.000016   \n",
       "4.328761e+09    0.000011    0.000012   0.000009   0.000011   0.000012   \n",
       "5.722368e+09    0.000008    0.000009   0.000007   0.000009   0.000009   \n",
       "7.564633e+09    0.000006    0.000007   0.000005   0.000007   0.000007   \n",
       "1.000000e+10    0.000005    0.000005   0.000004   0.000005   0.000005   \n",
       "\n",
       "                      5          6           7           8          9   \\\n",
       "1.000000e-02  134.928045 -17.051824 -388.777849   88.580588 -12.898994   \n",
       "1.321941e-02  134.881689 -17.166596 -388.046721   89.164057 -12.494991   \n",
       "1.747528e-02  134.820836 -17.317830 -387.078202   89.916997 -11.967363   \n",
       "2.310130e-02  134.741106 -17.516885 -385.794898   90.881489 -11.280807   \n",
       "3.053856e-02  134.636895 -17.778470 -384.094384   92.105310 -10.391640   \n",
       "4.037017e-02  134.501078 -18.121489 -381.841703   93.639509  -9.246911   \n",
       "5.336699e-02  134.324660 -18.569948 -378.860463   95.533628  -7.784143   \n",
       "7.054802e-02  134.096355 -19.153838 -374.923186   97.827905  -5.932221   \n",
       "9.326033e-02  133.802055 -19.909742 -369.742688  100.542373  -3.614040   \n",
       "1.232847e-01  133.424139 -20.880776 -362.967886  103.663876  -0.751650   \n",
       "1.629751e-01  132.940509 -22.115246 -354.189515  107.133693   2.725477   \n",
       "2.154435e-01  132.323275 -23.663252 -342.962784  110.839893   6.868565   \n",
       "2.848036e-01  131.537049 -25.570455 -328.853637  114.618673  11.694015   \n",
       "3.764936e-01  130.536990 -27.868634 -311.510974  118.266683  17.165103   \n",
       "4.977024e-01  129.267061 -30.563498 -290.758133  121.562135  23.173605   \n",
       "6.579332e-01  127.659284 -33.621595 -266.684662  124.288530  29.526831   \n",
       "8.697490e-01  125.635048 -36.959434 -239.709208  126.253760  35.948336   \n",
       "1.149757e+00  123.109540 -40.438469 -210.583789  127.300145  42.100499   \n",
       "1.519911e+00  119.999947 -43.868628 -180.324192  127.305895  47.631411   \n",
       "2.009233e+00  116.237287 -47.020806 -150.077720  126.182581  52.237426   \n",
       "2.656088e+00  111.780579 -49.646360 -120.964756  123.874455  55.721764   \n",
       "3.511192e+00  106.630996 -51.500421  -93.938942  120.363659  58.026847   \n",
       "4.641589e+00  100.842933 -52.366044  -69.697736  115.681544  59.227344   \n",
       "6.135907e+00   94.528900 -52.076952  -48.651004  109.922205  59.487901   \n",
       "8.111308e+00   87.855871 -50.536865  -30.936045  103.251721  59.004315   \n",
       "1.072267e+01   81.032146 -47.733421  -16.460836   95.906646  57.951387   \n",
       "1.417474e+01   74.285593 -43.744678   -4.960639   88.178075  56.454143   \n",
       "1.873817e+01   67.836188 -38.736537    3.941055   80.382083  54.587012   \n",
       "2.477076e+01   61.867689 -32.950083   10.672908   72.822051  52.394362   \n",
       "3.274549e+01   56.504478 -26.679068   15.662825   65.751664  49.919316   \n",
       "...                  ...        ...         ...         ...        ...   \n",
       "3.053856e+06    0.017202   0.015525    0.020389    0.021272   0.020342   \n",
       "4.037017e+06    0.013015   0.011746    0.015426    0.016094   0.015390   \n",
       "5.336699e+06    0.009846   0.008887    0.011670    0.012176   0.011644   \n",
       "7.054802e+06    0.007449   0.006723    0.008829    0.009211   0.008809   \n",
       "9.326033e+06    0.005635   0.005086    0.006679    0.006968   0.006664   \n",
       "1.232847e+07    0.004263   0.003848    0.005053    0.005272   0.005041   \n",
       "1.629751e+07    0.003225   0.002911    0.003822    0.003988   0.003814   \n",
       "2.154435e+07    0.002440   0.002202    0.002892    0.003017   0.002885   \n",
       "2.848036e+07    0.001845   0.001666    0.002187    0.002282   0.002182   \n",
       "3.764936e+07    0.001396   0.001260    0.001655    0.001726   0.001651   \n",
       "4.977024e+07    0.001056   0.000953    0.001252    0.001306   0.001249   \n",
       "6.579332e+07    0.000799   0.000721    0.000947    0.000988   0.000945   \n",
       "8.697490e+07    0.000604   0.000545    0.000716    0.000747   0.000715   \n",
       "1.149757e+08    0.000457   0.000413    0.000542    0.000565   0.000541   \n",
       "1.519911e+08    0.000346   0.000312    0.000410    0.000428   0.000409   \n",
       "2.009233e+08    0.000262   0.000236    0.000310    0.000324   0.000309   \n",
       "2.656088e+08    0.000198   0.000179    0.000235    0.000245   0.000234   \n",
       "3.511192e+08    0.000150   0.000135    0.000177    0.000185   0.000177   \n",
       "4.641589e+08    0.000113   0.000102    0.000134    0.000140   0.000134   \n",
       "6.135907e+08    0.000086   0.000077    0.000102    0.000106   0.000101   \n",
       "8.111308e+08    0.000065   0.000058    0.000077    0.000080   0.000077   \n",
       "1.072267e+09    0.000049   0.000044    0.000058    0.000061   0.000058   \n",
       "1.417474e+09    0.000037   0.000033    0.000044    0.000046   0.000044   \n",
       "1.873817e+09    0.000028   0.000025    0.000033    0.000035   0.000033   \n",
       "2.477076e+09    0.000021   0.000019    0.000025    0.000026   0.000025   \n",
       "3.274549e+09    0.000016   0.000014    0.000019    0.000020   0.000019   \n",
       "4.328761e+09    0.000012   0.000011    0.000014    0.000015   0.000014   \n",
       "5.722368e+09    0.000009   0.000008    0.000011    0.000011   0.000011   \n",
       "7.564633e+09    0.000007   0.000006    0.000008    0.000009   0.000008   \n",
       "1.000000e+10    0.000005   0.000005    0.000006    0.000007   0.000006   \n",
       "\n",
       "                      10          11          12         13            14  \\\n",
       "1.000000e-02  477.601029  258.387712 -213.378990  78.761482  5.365672e+01   \n",
       "1.321941e-02  476.606154  257.661560 -213.216987  78.761568  5.363224e+01   \n",
       "1.747528e-02  475.303911  256.712435 -213.005133  78.761698  5.359983e+01   \n",
       "2.310130e-02  473.604369  255.476124 -212.728953  78.761896  5.355691e+01   \n",
       "3.053856e-02  471.394628  253.872789 -212.370325  78.762198  5.350006e+01   \n",
       "4.037017e-02  468.535060  251.805034 -211.906865  78.762654  5.342477e+01   \n",
       "5.336699e-02  464.856173  249.156954 -211.311366  78.763326  5.332509e+01   \n",
       "7.054802e-02  460.156947  245.795044 -210.551308  78.764286  5.319331e+01   \n",
       "9.326033e-02  454.205686  241.572143 -209.588450  78.765577  5.301946e+01   \n",
       "1.232847e-01  446.744615  236.335737 -208.378380  78.767153  5.279100e+01   \n",
       "1.629751e-01  437.499504  229.941980 -206.869776  78.768733  5.249248e+01   \n",
       "2.154435e-01  426.195614  222.276521 -205.003076  78.769565  5.210562e+01   \n",
       "2.848036e-01  412.581292  213.282363 -202.708328  78.768062  5.160969e+01   \n",
       "3.764936e-01  396.460241  202.993162 -199.902454  78.761337  5.098244e+01   \n",
       "4.977024e-01  377.731933  191.566715 -196.486803  78.744702  5.020151e+01   \n",
       "6.579332e-01  356.436000  179.307914 -192.346479  78.711309  4.924595e+01   \n",
       "8.697490e-01  332.791046  166.665448 -187.353095  78.652111  4.809761e+01   \n",
       "1.149757e+00  307.214424  154.187190 -181.372041  78.556300  4.674195e+01   \n",
       "1.519911e+00  280.310913  142.430759 -174.274284  78.412160  4.516811e+01   \n",
       "2.009233e+00  252.826212  131.847258 -165.951441  78.208010  4.336875e+01   \n",
       "2.656088e+00  225.571654  122.676723 -156.332015  77.932667  4.134020e+01   \n",
       "3.511192e+00  199.334220  114.898066 -145.396867  77.574945  3.908374e+01   \n",
       "4.641589e+00  174.788893  108.256809 -133.193225  77.122060  3.660804e+01   \n",
       "6.135907e+00  152.430524  102.359873 -119.847595  76.557388  3.393235e+01   \n",
       "8.111308e+00  132.539822   96.798243 -105.576914  75.858294  3.108922e+01   \n",
       "1.072267e+01  115.190295   91.251580  -90.693497  74.994659  2.812537e+01   \n",
       "1.417474e+01  100.290103   85.544630  -75.595555  73.928291  2.509966e+01   \n",
       "1.873817e+01   87.641248   79.650585  -60.736336  72.613192  2.207833e+01   \n",
       "2.477076e+01   76.995691   73.656424  -46.573298  70.996837  1.912871e+01   \n",
       "3.274549e+01   68.094937   67.712406  -33.509807  69.023051  1.631338e+01   \n",
       "...                  ...         ...         ...        ...           ...   \n",
       "3.053856e+06    0.021805    0.021971    0.018981   0.011647  9.859308e-04   \n",
       "4.037017e+06    0.016497    0.016623    0.014361   0.008812  7.458939e-04   \n",
       "5.336699e+06    0.012481    0.012576    0.010865   0.006666  5.642834e-04   \n",
       "7.054802e+06    0.009442    0.009514    0.008220   0.005043  4.268837e-04   \n",
       "9.326033e+06    0.007143    0.007198    0.006218   0.003815  3.229357e-04   \n",
       "1.232847e+07    0.005404    0.005445    0.004704   0.002886  2.442969e-04   \n",
       "1.629751e+07    0.004088    0.004119    0.003559   0.002183  1.848061e-04   \n",
       "2.154435e+07    0.003092    0.003116    0.002692   0.001652  1.398016e-04   \n",
       "2.848036e+07    0.002339    0.002357    0.002036   0.001249  1.057563e-04   \n",
       "3.764936e+07    0.001770    0.001783    0.001541   0.000945  8.000160e-05   \n",
       "4.977024e+07    0.001339    0.001349    0.001165   0.000715  6.051876e-05   \n",
       "6.579332e+07    0.001013    0.001020    0.000882   0.000541  4.578050e-05   \n",
       "8.697490e+07    0.000766    0.000772    0.000667   0.000409  3.463142e-05   \n",
       "1.149757e+08    0.000580    0.000584    0.000504   0.000309  2.619749e-05   \n",
       "1.519911e+08    0.000438    0.000442    0.000382   0.000234  1.981749e-05   \n",
       "2.009233e+08    0.000332    0.000334    0.000289   0.000177  1.499124e-05   \n",
       "2.656088e+08    0.000251    0.000253    0.000218   0.000134  1.134034e-05   \n",
       "3.511192e+08    0.000190    0.000191    0.000165   0.000101  8.578560e-06   \n",
       "4.641589e+08    0.000144    0.000145    0.000125   0.000077  6.489372e-06   \n",
       "6.135907e+08    0.000109    0.000109    0.000095   0.000058  4.908975e-06   \n",
       "8.111308e+08    0.000082    0.000083    0.000072   0.000044  3.713461e-06   \n",
       "1.072267e+09    0.000062    0.000063    0.000054   0.000033  2.809098e-06   \n",
       "1.417474e+09    0.000047    0.000047    0.000041   0.000025  2.124980e-06   \n",
       "1.873817e+09    0.000036    0.000036    0.000031   0.000019  1.607470e-06   \n",
       "2.477076e+09    0.000027    0.000027    0.000023   0.000014  1.215992e-06   \n",
       "3.274549e+09    0.000020    0.000021    0.000018   0.000011  9.198538e-07   \n",
       "4.328761e+09    0.000015    0.000016    0.000013   0.000008  6.958357e-07   \n",
       "5.722368e+09    0.000012    0.000012    0.000010   0.000006  5.263742e-07   \n",
       "7.564633e+09    0.000009    0.000009    0.000008   0.000005  3.981828e-07   \n",
       "1.000000e+10    0.000007    0.000007    0.000006   0.000004  3.012107e-07   \n",
       "\n",
       "                        15            16         17            18  \n",
       "1.000000e-02 -2.219265e+01  3.125460e+01 -58.443824 -1.238497e+01  \n",
       "1.321941e-02 -2.220266e+01  3.125631e+01 -58.453308 -1.239630e+01  \n",
       "1.747528e-02 -2.221573e+01  3.125844e+01 -58.465774 -1.241105e+01  \n",
       "2.310130e-02 -2.223273e+01  3.126106e+01 -58.482132 -1.243018e+01  \n",
       "3.053856e-02 -2.225474e+01  3.126419e+01 -58.503548 -1.245482e+01  \n",
       "4.037017e-02 -2.228310e+01  3.126778e+01 -58.531507 -1.248636e+01  \n",
       "5.336699e-02 -2.231937e+01  3.127166e+01 -58.567872 -1.252635e+01  \n",
       "7.054802e-02 -2.236540e+01  3.127547e+01 -58.614953 -1.257650e+01  \n",
       "9.326033e-02 -2.242329e+01  3.127854e+01 -58.675559 -1.263858e+01  \n",
       "1.232847e-01 -2.249534e+01  3.127980e+01 -58.753015 -1.271421e+01  \n",
       "1.629751e-01 -2.258410e+01  3.127770e+01 -58.851142 -1.280472e+01  \n",
       "2.154435e-01 -2.269229e+01  3.127020e+01 -58.974127 -1.291080e+01  \n",
       "2.848036e-01 -2.282281e+01  3.125484e+01 -59.126277 -1.303222e+01  \n",
       "3.764936e-01 -2.297874e+01  3.122895e+01 -59.311585 -1.316741e+01  \n",
       "4.977024e-01 -2.316318e+01  3.118989e+01 -59.533088 -1.331292e+01  \n",
       "6.579332e-01 -2.337886e+01  3.113522e+01 -59.792029 -1.346277e+01  \n",
       "8.697490e-01 -2.362735e+01  3.106266e+01 -60.086879 -1.360758e+01  \n",
       "1.149757e+00 -2.390776e+01  3.096953e+01 -60.412343 -1.373369e+01  \n",
       "1.519911e+00 -2.421488e+01  3.085165e+01 -60.758512 -1.382217e+01  \n",
       "2.009233e+00 -2.453697e+01  3.070156e+01 -61.110321 -1.384807e+01  \n",
       "2.656088e+00 -2.485366e+01  3.050631e+01 -61.447442 -1.378001e+01  \n",
       "3.511192e+00 -2.513453e+01  3.024533e+01 -61.744654 -1.358057e+01  \n",
       "4.641589e+00 -2.533923e+01  2.988929e+01 -61.972595 -1.320811e+01  \n",
       "6.135907e+00 -2.541979e+01  2.940122e+01 -62.098583 -1.262049e+01  \n",
       "8.111308e+00 -2.532521e+01  2.874064e+01 -62.087133 -1.178114e+01  \n",
       "1.072267e+01 -2.500772e+01  2.787092e+01 -61.899887 -1.066713e+01  \n",
       "1.417474e+01 -2.442941e+01  2.676837e+01 -61.495060 -9.277525e+00  \n",
       "1.873817e+01 -2.356769e+01  2.543058e+01 -60.826839 -7.640021e+00  \n",
       "2.477076e+01 -2.241859e+01  2.388075e+01 -59.845382 -5.813232e+00  \n",
       "3.274549e+01 -2.099771e+01  2.216591e+01 -58.498132 -3.882944e+00  \n",
       "...                    ...           ...        ...           ...  \n",
       "3.053856e+06 -2.096235e-04 -5.518819e-04  -0.007463 -1.085687e-04  \n",
       "4.037017e+06 -1.585352e-04 -4.178320e-04  -0.005646 -8.237537e-05  \n",
       "5.336699e+06 -1.199048e-04 -3.162769e-04  -0.004271 -6.245541e-05  \n",
       "7.054802e+06 -9.069139e-05 -2.393678e-04  -0.003231 -4.732621e-05  \n",
       "9.326033e+06 -6.859773e-05 -1.811392e-04  -0.002444 -3.584689e-05  \n",
       "1.232847e+07 -5.188768e-05 -1.370631e-04  -0.001849 -2.714338e-05  \n",
       "1.629751e+07 -3.924884e-05 -1.037049e-04  -0.001399 -2.054815e-05  \n",
       "2.154435e+07 -2.968900e-05 -7.846142e-05  -0.001058 -1.555261e-05  \n",
       "2.848036e+07 -2.245789e-05 -5.936030e-05  -0.000800 -1.176995e-05  \n",
       "3.764936e+07 -1.698814e-05 -4.490796e-05  -0.000606 -8.906381e-06  \n",
       "4.977024e+07 -1.285066e-05 -3.397355e-05  -0.000458 -6.738979e-06  \n",
       "6.579332e+07 -9.720915e-06 -2.570108e-05  -0.000346 -5.098722e-06  \n",
       "8.697490e+07 -7.353435e-06 -1.944269e-05  -0.000262 -3.857530e-06  \n",
       "1.149757e+08 -5.562558e-06 -1.470812e-05  -0.000198 -2.918385e-06  \n",
       "1.519911e+08 -4.207845e-06 -1.112640e-05  -0.000150 -2.207826e-06  \n",
       "2.009233e+08 -3.183065e-06 -8.416856e-06  -0.000113 -1.670239e-06  \n",
       "2.656088e+08 -2.407864e-06 -6.367125e-06  -0.000086 -1.263532e-06  \n",
       "3.511192e+08 -1.821456e-06 -4.816543e-06  -0.000065 -9.558481e-07  \n",
       "4.641589e+08 -1.377862e-06 -3.643565e-06  -0.000049 -7.230828e-07  \n",
       "6.135907e+08 -1.042300e-06 -2.756239e-06  -0.000037 -5.469963e-07  \n",
       "8.111308e+08 -7.884609e-07 -2.085002e-06  -0.000028 -4.137888e-07  \n",
       "1.072267e+09 -5.964412e-07 -1.577233e-06  -0.000021 -3.130195e-07  \n",
       "1.417474e+09 -4.511856e-07 -1.193122e-06  -0.000016 -2.367898e-07  \n",
       "1.873817e+09 -3.413052e-07 -9.025544e-07  -0.000012 -1.791240e-07  \n",
       "2.477076e+09 -2.581848e-07 -6.827502e-07  -0.000009 -1.355014e-07  \n",
       "3.274549e+09 -1.953073e-07 -5.164761e-07  -0.000007 -1.025022e-07  \n",
       "4.328761e+09 -1.477427e-07 -3.906955e-07  -0.000005 -7.753936e-08  \n",
       "5.722368e+09 -1.117620e-07 -2.955470e-07  -0.000004 -5.865581e-08  \n",
       "7.564633e+09 -8.454381e-08 -2.235706e-07  -0.000003 -4.437104e-08  \n",
       "1.000000e+10 -6.395428e-08 -1.691230e-07  -0.000002 -3.356510e-08  \n",
       "\n",
       "[100 rows x 19 columns]"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tmp = pd.DataFrame(coeff_matrix).T\n",
    "tmp.index = list_alpha\n",
    "tmp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x20f3fa49860>"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA78AAAHkCAYAAAD2NpiHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdd5hdVb3G8e86dXqvyUwymdRJL5MCpNEREaWICApSBBGuoiCKgDRRVETwypUiImBB78WKgBACSUggyaRB2qSXmUzLZHo7bd0/5hASSZngnDlT3s/jeXZba+/fyQSfvLP2XttYaxERERERERHpzxzRLkBEREREREQk0hR+RUREREREpN9T+BUREREREZF+T+FXRERERERE+j2FXxEREREREen3FH5FRERERESk33NFu4CelJGRYQsKCqJdhoiIiIiIiETAqlWr9ltrM490bECF34KCAkpKSqJdhoiIiIiIiESAMWb30Y7ptmcRERERERHp9xR+RUREREREpN9T+BUREREREZF+T+FXRERERERE+j2FXxEREREREen3FH5FRERERESk31P4FRERERERkX5P4VdERERERET6PYVfERERERER6fcUfkVERERERKTfU/gVERERERGRfk/hV0RERERERPo9hV8RERERERHp9xR+RUREREREpN9T+BUREREREZF+T+FXRERERERE+j2FXxEREREREen3XNEuQD50X0kJGw4cIN7lIt7t7vx8sB5eJrrdJHk8JHk8JB+y9Dqd0S5fRERERESk11L47UWGJSbSEQzS7PfT4vezv72dFr+fZr+f1kAAe4y+XqeT5HAQTo+J6fx4vaTFxJDxwXb4k+B299h3EhERERER6Q0UfnuRL44efdRjIWtpCwRo9vtp8Plo9PloCH8OXW/o6OBARwc7GxupbW8nYD8ameNdLnLj48mNiyM3Lo6cuLjDtpM9HowxkfyqIiIiIiIiPUrht49wGHPwVujsuLgu9bHW0ujzUdvRQW17O7Xt7dS0tVHV1kZlaysVLS2sqqmhNRA4rF+i283QxEQKDv0kJTEoPh6nQrGIiIiIiPRBCr/9mDGGZK+XZK+XwqSkI7ax1tLk93eG4dZW9rW0sLe5mZ1NTbxTVcVLu3cfbOt2OBiSkMCI5GSKUlMZk5rKmJQUYl36ayQi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\n",
      "text/plain": [
       "<Figure size 1152x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (16,8))\n",
    "sns.lineplot(data = tmp, dashes=False)\n",
    "plt.axhline(y = 0,linestyle = 'dashed',lw = 0.1,color = 'black')\n",
    "plt.xscale('log')\n",
    "plt.xticks(list_alpha)\n",
    "plt.ylabel('Coeffients',fontsize = 14)\n",
    "plt.xlabel('Alpha')\n",
    "plt.legend(loc='right')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-289.51865327021113, 332.6791184234042, 34.77944193671503, -55.844782296334756, -24.166567449872517, 133.80205477153837, -19.909741728278064, -369.7426875016239, 100.54237339879005, -3.614039922956993, 454.20568566002515, 241.57214343743996, -209.58845049883323, 78.76557723286047, 53.019463960954646, -22.42328507878067, 31.278539444236767, -58.67555869272185, -12.638577929628404]\n"
     ]
    }
   ],
   "source": [
    "#for a small value of aplpha, the coeff are - \n",
    "print(coeff_matrix[list_alpha[8]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[5.763318248704299e-05, 6.40427770922997e-05, 5.007915350288837e-05, 6.129576852892076e-05, 6.561689194262847e-05, 6.480083916119168e-05, 5.8492473598104705e-05, 7.681124525639192e-05, 8.013609785207736e-05, 7.663536669557501e-05, 8.214613025072637e-05, 8.277213810215088e-05, 7.150981326993902e-05, 4.386760495701925e-05, 3.7134612262225823e-06, -7.884609239667503e-07, -2.085002265335332e-06, -2.8105497481995366e-05, -4.1378878558149674e-07]\n"
     ]
    }
   ],
   "source": [
    "# for a large value of alpha, the coeff are - \n",
    "print(coeff_matrix[list_alpha[90]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "# we can see that for large values for lambda the ceoff are very very small, although none is equal to 0."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "list_l2_norm = []\n",
    "for alpha in list_alpha:\n",
    "    list_l2_norm.append(np.linalg.norm(coeff_matrix[alpha]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0, 100)"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1008x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (14,6))\n",
    "plt.plot(list_alpha,list_l2_norm)\n",
    "plt.xlabel('Alpha')\n",
    "plt.ylabel('L2 Norm')\n",
    "plt.xlim(0,100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "# this is the relationship between, l2 norm, and alpha, We can see that as X increases, l2 norm decreases. Which means \n",
    "# the size of the coefficients are decreasing"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Selecting the best value of alpha"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Using validation approach\n",
    "X_train,X_test,y_train,y_test = train_test_split(data.drop('Salary',axis = 1),data['Salary'],test_size = 0.3,random_state = 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "validation_score = []\n",
    "for alpha in list_alpha:\n",
    "    model = Ridge(alpha=alpha)\n",
    "    model.fit(X_train,y_train)\n",
    "    validation_score.append(mean_squared_error(model.predict(X_test),y_test)*len(y_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.lineplot(list_alpha,validation_score)\n",
    "plt.xscale('log')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "52"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.argmin(validation_score)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Lasso"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [],
   "source": [
    "list_alpha = 10**np.linspace(-2,10,100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [],
   "source": [
    "# in R, by default, the predictors are standardized\n",
    "X = data.drop('Salary',axis = 1)\n",
    "y = data['Salary']\n",
    "scaler = StandardScaler()\n",
    "X = scaler.fit_transform(X)\n",
    "# Now, X is standardised"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 9181735.8181662, tolerance: 5331.911278864535\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8172423.332844813, tolerance: 5331.911278864535\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6793694.605692047, tolerance: 5331.911278864535\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5457522.763454543, tolerance: 5331.911278864535\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4218741.4810796995, tolerance: 5331.911278864535\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 2983683.6901021954, tolerance: 5331.911278864535\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 1851512.1537985988, tolerance: 5331.911278864535\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 925542.79866568, tolerance: 5331.911278864535\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 287203.6818259172, tolerance: 5331.911278864535\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 149283.66533149406, tolerance: 5331.911278864535\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 92251.6620278284, tolerance: 5331.911278864535\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 57915.55100864172, tolerance: 5331.911278864535\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 37395.32525025308, tolerance: 5331.911278864535\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 25146.894463144243, tolerance: 5331.911278864535\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 17597.57564514503, tolerance: 5331.911278864535\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10985.930926524103, tolerance: 5331.911278864535\n",
      "  positive)\n"
     ]
    }
   ],
   "source": [
    "coeff_matrix = {}\n",
    "\n",
    "for alpha in list_alpha:\n",
    "    model = Lasso(alpha=alpha)\n",
    "    model.fit(X,y)\n",
    "    coeff_matrix[alpha] = list(model.coef_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "      <th>10</th>\n",
       "      <th>11</th>\n",
       "      <th>12</th>\n",
       "      <th>13</th>\n",
       "      <th>14</th>\n",
       "      <th>15</th>\n",
       "      <th>16</th>\n",
       "      <th>17</th>\n",
       "      <th>18</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0.010000</th>\n",
       "      <td>-286.905007</td>\n",
       "      <td>331.363096</td>\n",
       "      <td>36.212359</td>\n",
       "      <td>-57.357808</td>\n",
       "      <td>-25.658648</td>\n",
       "      <td>133.787447</td>\n",
       "      <td>-14.313048</td>\n",
       "      <td>-422.215279</td>\n",
       "      <td>133.673334</td>\n",
       "      <td>-4.578178</td>\n",
       "      <td>464.460502</td>\n",
       "      <td>246.073678</td>\n",
       "      <td>-208.802960</td>\n",
       "      <td>78.639945</td>\n",
       "      <td>54.350452</td>\n",
       "      <td>-22.467425</td>\n",
       "      <td>31.583507</td>\n",
       "      <td>-58.365877</td>\n",
       "      <td>-12.672573</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0.013219</th>\n",
       "      <td>-286.950122</td>\n",
       "      <td>331.325695</td>\n",
       "      <td>36.091031</td>\n",
       "      <td>-57.257930</td>\n",
       "      <td>-25.528647</td>\n",
       "      <td>133.747959</td>\n",
       "      <td>-14.398744</td>\n",
       "      <td>-420.990800</td>\n",
       "      <td>132.935083</td>\n",
       "      <td>-4.435307</td>\n",
       "      <td>464.206011</td>\n",
       "      <td>245.764342</td>\n",
       "      <td>-208.778380</td>\n",
       "      <td>78.644615</td>\n",
       "      <td>54.304079</td>\n",
       "      <td>-22.452758</td>\n",
       "      <td>31.554027</td>\n",
       "      <td>-58.363511</td>\n",
       "      <td>-12.643337</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0.017475</th>\n",
       "      <td>-287.009869</td>\n",
       "      <td>331.275922</td>\n",
       "      <td>35.930298</td>\n",
       "      <td>-57.125588</td>\n",
       "      <td>-25.356432</td>\n",
       "      <td>133.695761</td>\n",
       "      <td>-14.512163</td>\n",
       "      <td>-419.372611</td>\n",
       "      <td>131.963418</td>\n",
       "      <td>-4.244520</td>\n",
       "      <td>463.867405</td>\n",
       "      <td>245.352140</td>\n",
       "      <td>-208.745736</td>\n",
       "      <td>78.650806</td>\n",
       "      <td>54.242814</td>\n",
       "      <td>-22.433398</td>\n",
       "      <td>31.515092</td>\n",
       "      <td>-58.360387</td>\n",
       "      <td>-12.604741</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0.023101</th>\n",
       "      <td>-287.089063</td>\n",
       "      <td>331.210178</td>\n",
       "      <td>35.717682</td>\n",
       "      <td>-56.950581</td>\n",
       "      <td>-25.128615</td>\n",
       "      <td>133.626802</td>\n",
       "      <td>-14.662262</td>\n",
       "      <td>-417.232465</td>\n",
       "      <td>130.679408</td>\n",
       "      <td>-3.991625</td>\n",
       "      <td>463.419197</td>\n",
       "      <td>244.805989</td>\n",
       "      <td>-208.702686</td>\n",
       "      <td>78.659004</td>\n",
       "      <td>54.161818</td>\n",
       "      <td>-22.407810</td>\n",
       "      <td>31.463628</td>\n",
       "      <td>-58.356260</td>\n",
       "      <td>-12.553732</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0.030539</th>\n",
       "      <td>-287.193575</td>\n",
       "      <td>331.122512</td>\n",
       "      <td>35.436185</td>\n",
       "      <td>-56.718727</td>\n",
       "      <td>-24.827025</td>\n",
       "      <td>133.535567</td>\n",
       "      <td>-14.860641</td>\n",
       "      <td>-414.406159</td>\n",
       "      <td>128.989613</td>\n",
       "      <td>-3.654757</td>\n",
       "      <td>462.823461</td>\n",
       "      <td>244.079779</td>\n",
       "      <td>-208.645293</td>\n",
       "      <td>78.669850</td>\n",
       "      <td>54.054836</td>\n",
       "      <td>-22.374038</td>\n",
       "      <td>31.395662</td>\n",
       "      <td>-58.350806</td>\n",
       "      <td>-12.486383</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  0           1          2          3          4           5   \\\n",
       "0.010000 -286.905007  331.363096  36.212359 -57.357808 -25.658648  133.787447   \n",
       "0.013219 -286.950122  331.325695  36.091031 -57.257930 -25.528647  133.747959   \n",
       "0.017475 -287.009869  331.275922  35.930298 -57.125588 -25.356432  133.695761   \n",
       "0.023101 -287.089063  331.210178  35.717682 -56.950581 -25.128615  133.626802   \n",
       "0.030539 -287.193575  331.122512  35.436185 -56.718727 -24.827025  133.535567   \n",
       "\n",
       "                 6           7           8         9           10          11  \\\n",
       "0.010000 -14.313048 -422.215279  133.673334 -4.578178  464.460502  246.073678   \n",
       "0.013219 -14.398744 -420.990800  132.935083 -4.435307  464.206011  245.764342   \n",
       "0.017475 -14.512163 -419.372611  131.963418 -4.244520  463.867405  245.352140   \n",
       "0.023101 -14.662262 -417.232465  130.679408 -3.991625  463.419197  244.805989   \n",
       "0.030539 -14.860641 -414.406159  128.989613 -3.654757  462.823461  244.079779   \n",
       "\n",
       "                  12         13         14         15         16         17  \\\n",
       "0.010000 -208.802960  78.639945  54.350452 -22.467425  31.583507 -58.365877   \n",
       "0.013219 -208.778380  78.644615  54.304079 -22.452758  31.554027 -58.363511   \n",
       "0.017475 -208.745736  78.650806  54.242814 -22.433398  31.515092 -58.360387   \n",
       "0.023101 -208.702686  78.659004  54.161818 -22.407810  31.463628 -58.356260   \n",
       "0.030539 -208.645293  78.669850  54.054836 -22.374038  31.395662 -58.350806   \n",
       "\n",
       "                 18  \n",
       "0.010000 -12.672573  \n",
       "0.013219 -12.643337  \n",
       "0.017475 -12.604741  \n",
       "0.023101 -12.553732  \n",
       "0.030539 -12.486383  "
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tmp = pd.DataFrame(coeff_matrix).T\n",
    "tmp.index = list_alpha\n",
    "tmp.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x20f3e9b8860>"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA78AAAHkCAYAAAD2NpiHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdd5xddZ3/8df3nNum9z6TzEzCJJMeUjGNIh2jgAUEV1EEXBRcRdef7rpr2RXbSpFFUWzoyroqUqQaIASEhJBCemFSZiYzk2R6u/38/rg3IYFUmDt3yvv58DzO95zzPef7ScL4yDvfU4zjOIiIiIiIiIiMZFayCxARERERERFJNIVfERERERERGfEUfkVERERERGTEU/gVERERERGREU/hV0REREREREY8hV8REREREREZ8VzJLmAw5efnO5WVlckuQ0RERERERBLgtddeO+g4TsGxjo2q8FtZWcnq1auTXYaIiIiIiIgkgDFmz/GO6bZnERERERERGfEUfkVERERERGTEU/gVERERERGREU/hV0REREREREY8hV8REREREREZ8RR+RUREREREZMRT+BUREREREZERT+FXRERERERERjyFXxERERERERnxFH5FRERERERkxFP4FRERERERkRFP4VdERERERERGPIVfERERERERGfEUfkVERERERGTEU/gVERERERGREU/hV0REREREREY8hV8REREREREZ8VzJLkDe9M3Vq1l/8CC2MVjGYFsWtjFvbsf3ueJtV/y4y7JiS7ztji8uy8JzRPvQfo9l4bVtPLaN94j2kdspLhcpLhduS/8+IiIiIiIiw5/C7xBSlZFBJBol7DhEHYdIfB2ORt9sOw79kQhhxzncNxyNxpZDbcchFIkQirffDdsYUl0ufC4XKfFQnOpykeZyke52kxZf0t3uw/vS3W6yPJ7Y4vWS4XZjGTNAv0siIiIiIiKnT+F3CPnYhAkDfk0nHpiDkQjhaJRgNEooGiUQiRCIRAhGowQjEfzxdiASwR8O449E6A+H6Y9v98e3/eEwfZEIB/x+dnV30xsK0RMKnTBkW0DmEWE4y+Mh3+cj3+cjL77OT0kh3+cjx+vFpdlmEREREREZYAq/I5wxBrcxCb192XEcAtEovaEQvaEQ3aEQncEgHYEAncFgbDmi3dTby4bW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RETi3bx581i0aFGrcXfddRdr1qyhoKCAK664gu9///tRaUvJr0gCWLa/gAn9RzAsveN760ZbcU0jz26p4NLRAxg3IPWo89v6Btwtu3Amj4vJFalFREREJL7Mnj2bQYNa7xTp379/y3BNTU3Uthv9UalFRGKmuqmGgorNfH7c5T3e9mMflWKAL045xr2+m3dCMKhDnkVERETizB/ea2BHhRvVOscMcvjCGcd3PZp7772XJ598kqysLN58882oxKM9vyK93Lslawlat8dvcbStsp5/Flby6RMGMSQj6ZjKBNdthbRUnDF53RydiIiIiPRm9913H7t37+aGG27goYceikqd2vMr0sst21/AgORMThrYc/fMDbiWn6zcS78kh/84cfAxlbGui7t+G86JYzA+XzdHKCIiIiKdcbx7aLvbZz/7WS6//HIWLFjQ5bq051ekFwtal3+XrObs3Kn4TM99nf+wrpR15XXcOWM4/VOO7Tc0u7MYaurw6ZBnEREREenAli1bWoZffPFFJk2aFJV6tedXpBf76MBWDjbV9OghzwUlNTyxvpRLR2dx4aisYy4XXLcVHAdn0phujE5EREREepO5c+eyZMkSysrKyM/PZ8GCBbzyyits2rQJx3EYNWoUjzzySFTaUvIr0ost21+Az/g4M2fK0WeOgurGIAuW72FoehL/edqwTpV1123FGZePSTv6VaFFREREpG9YuHDhEeNuuummbmlLhz2L9GLL9q9mevZEMpPSu70tay0/fX8vZXVNLDgrn4ykYz9v1y07gN1frqs8i4iIiEjMKPkV6aX21payrbqIc3NP6ZH2FhUeZPGuKm6akstJ2Z1Ltt112wCU/IqIiIhIzCj5Feml3t6/GqBHzvctqm7gZx8UMy0n/Ziv7hzOXb8VMyQbJ3tAN0QnIiIiInJ0Sn5Feqll+wsYlTGUkf2Gdms7AdfyvXf34DPw32fm4XNMp8rbunrcbUXa6ysiIiIiMaXkV6QXqg3Us7J8A+f0wF7fx9aWsL6ijrtPH87QjOROl3c37gDX1S2ORERERCSmlPyK9ELvlnxEkxvgnCHde77vhyU1PLm+jMvHDOD8kcd+W6NwwXVbISMNM6pzV4cWEREREYkmJb8ivdCLu5eRkzqA6YMmdlsbVY1Bvr98D3n9krl9+vEdWm2DQdwN2/FNHodxtLoRERERkdbm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ZkvVLqqaaqhqrKW6qYaqphqqm2qpaqqhLtgQsVyS42dQcn8GpfRncGoWUwaOZWhaNkPTBjE0LZshadnkpg4kydHHLSIiIiIifZOyoTjy+t4VrCrfSP+kDDKT0umflEFeei79k73h/kkZ9E/uR3Yo0R2UksWglEz6+dMxxsQ6fBERERERkbil5DeO/GLmN3XlZBERERERkW6gTCuOKPEVERERERHpHsq2REREREREJOEp+RUREREREZGEp+RXREREREREEp6SXxEREREREUl4Sn5FREREREQk4Sn5FRERERERkYSn5FdEREREREQSnpJfERERERERSXhKfkVERERERCThKfkVERERERGRhKfkV0RERERERBKekl8RERERERFJeEp+RUREREREJOEp+RUREREREZGEp+RXREREREREEp6SXxEREREREUl4Sn5FREREREQk4Rlrbaxj6DHGmFJgZ6zjOIrBQFk3Tu+JNhRjfEyPhxgUY89Mj4cYFGPPTI+HGBRjz0yPhxgUY89Mj4cY+sJ7iIcY+kqMsTbKWpsTcYq1Vo84egDvd+f0nmhDMcbH9HiIQTEqxniKQTEqxniKQTEqxniKoS+8h3iIoa/EGM8PHfYsIiIiIiIiCU/Jr4iIiIiIiCQ8Jb/x53fdPL0n2lCM8TE9HmJQjD0zPR5iUIw9Mz0eYlCMPTM9HmJQjD0zPR5i6AvvIR5i6Csxxq0+dcErERERERER6Zu051dEREREREQSnpJfERERERERSXhKfkVERERERCThKfntRYwxVxtjfm+MecEYc5FiiT1jzFhjzGPGmGdjHUtPMsZkGGOeCC0DN8Q6nlg52ucfq+Uj3r6f8RZPLBhjTjTGPGKMedYY85VYxxNLofXHB8aYK2IdSywYY+YYY5aFloc5xztPN8XmGGPuM8b82hjz+Z5qN95jiSVjzLmh5eB/jTHvxDqeWDDGjDTGvGiMedwY861YxxMrxpjJxphnjDEPG2M+1dnp3RDPEds4vWL7MNY3Go7nB/A4UAKsbWd6KrACWA2sAxaExo8A3gQ2hMZ/I7yuNsOXAJuArcCLoXHrgG+2acsHfAi8BAwEHovme2oTx7eOtR9CsTzV9v121D/t9VHYtNtD49YCC4HU0PhC4COggC7eXPt4+qGjssCzneizls+yzfhvtP38gYmh99v8qAqbNgB4FtgY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\n",
      "text/plain": [
       "<Figure size 1152x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (16,8))\n",
    "sns.lineplot(data = tmp, dashes=False)\n",
    "plt.axhline(y = 0,linestyle = 'dashed',lw = 0.1,color = 'black')\n",
    "plt.xscale('log')\n",
    "plt.xticks(list_alpha)\n",
    "plt.ylabel('Coeffients',fontsize = 14)\n",
    "plt.xlabel('Alpha')\n",
    "plt.legend(loc='right')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-288.06252906937357, 330.36981199887236, 33.06222643992329, -54.759037031179474, -22.28462955849103, 132.76311903093205, -16.525200498348568, -390.65923055726455, 114.82688141722235, -0.8084173075287386, 457.78148356074774, 237.9513654668813, -208.14987606522428, 78.76080852606059, 53.154287842464484, -22.089840987641004, 30.823239242660694, -58.30463802012528, -11.91895965736159]\n"
     ]
    }
   ],
   "source": [
    "#for a small value of aplpha, the coeff are - \n",
    "print(coeff_matrix[list_alpha[8]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0]\n"
     ]
    }
   ],
   "source": [
    "# for a large value of alpha, the coeff are - \n",
    "print(coeff_matrix[list_alpha[90]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [],
   "source": [
    "# we can see that for large values for lambda the ceoff are exactly zero, we can compare this with what we got from ridge."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [],
   "source": [
    "list_l2_norm = []\n",
    "for alpha in list_alpha:\n",
    "    list_l2_norm.append(np.linalg.norm(coeff_matrix[alpha]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0, 100)"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0wAAAFzCAYAAAANLonmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3de5SkdX3n8c+3qrr6PtNz6RmmLzPNZUABuTkggseoJEYNcokgsJoAsssfMVfdjehm12Q3yepuEmJOEnNYESHrBgwXwWtURKNEWWYAuV8GGGZ6rj2Xnpm+VlfVd/+op7qre7qmb1X1VD31fp1Tp+r5PZf+cqxT+OH7e36PubsAAAAAAMeKhV0AAAAAAFQrAhMAAAAAFEFgAgAAAIAiCEwAAAAAUASBCQAAAACKIDABAAAAQBGJsAtYitWrV3tfX1/YZQAAAACoUlu2bNnv7p2LPb+mA1NfX582b94cdhkAAAAAqpSZvbGU85mSBwAAAABFEJgAAAAAoAgCEwAAAAAUQWACAAAAgCIITAAAAABQBIEJAAAAAIogMAEAAABAEQQmAAAAACiCwAQAAAAARRCYAAAAAKAIAhMAAAAAFFHTgWloPB12CQAAAAAirKYD046DI2GXAAAAACDCajowpbMudw+7DAAAAAARVdOBSZKOjDEtDwAAAEB51HxgGhxJhV0CAAAAgIiq+cB0cJjABAAAAKA8aj4wDY5MhF0CAAAAgIiq+cB0gA4TAAAAgDKp+cDEPUwAAAAAyqWmA5OJDhMAAACA8qnpwBSPmQ4OEZgAAAAAlEdNB6ZEPKYDw+NhlwEAAAAgomo7MMVMA3SYAAAAAJRJTQemhnhMA0fGwi4DAAAAQETVdGBKxE37jo4rm/WwSwEAAAAQQTUdmBriMaWzrv3cxwQAAACgDGo7MMVMkrT3MIEJAAAAQOnVdmCK58rfw31MAAAAAMogGoHp8GjIlQAAAACIopoOTIm4KREz7T5MhwkAAABA6ZU1MJnZH5jZc2b2rJn9k5k1mdmJZvaYmb1iZveYWTI4tjHY3hrs75vP31i7rEl7CEwAAAAAyqBsgcnMuiX9rqRN7n6mpLikayV9XtKt7r5R0iFJNwWn3CTpkLufIunW4Lg5rVvepF1MyQMAAABQBuWekpeQ1GxmCUktknZLeo+ke4P9d0q6Ivh8ebCtYP8lZmZz/YF1Hc1MyQMAAABQFmULTO6+U9JfSNquXFA6LGmLpEF3TweH9UvqDj53S9oRnJsOjl8187pmdrOZbTazzQMDA+pa3qTdh8fkzsNrAQAAAJRWOafkrVCua3SipC5JrZLeP8uh+aQzWzfpmBTk7re5+yZ339TZ2amujmal0lntH0qVqnQAAAAAkFTeKXm/LOl1dx9w9wlJ90u6SFJHMEVPknok7Qo+90vqlaRg/3JJB+f6I90dzZKknYPcxwQAAACgtMoZmLZLutDMWoJ7kS6R9LykRyRdFRxzvaQHg88PBdsK9v/Q5zHPrntFLjD1HxopXeUAAAAAoPLew/SYcos3PCHpmeBv3SbpU5I+YWZblbtH6fbglNslrQrGPyHplvn8nXxg2nmIDhMAAACA0krMfcjiuftnJX12xvBrki6Y5dgxSVcv9G8sa2rQsqaE+glMAAAAAEqs3MuKV0TPiham5AEAAAAouYgEpmbtoMMEAAAAoMQiEZj6Vrdq+8ERZbM8iwkAAABA6UQiMK1f2aJUOqs9R8bCLgUAAABAhEQiMG1Y1SJJeuMA9zEBAAAAKJ1IBKa+Va2SpO0Hh0OuBAAAAECURCIwrVvepETM6DABAAAAKKlIBKZEPKaeFc0EJgAAAAAlFYnAJEm9K3kWEwAAAIDSikxg6u5o1s5BVskDAAAAUDqRCUxdHc3aPzSusYlM2KUAAAAAiIjIBKbujmZJ0q7B0ZArAQAAABAV0QlMK/KBiWl5AAAAAEojOoEp6DDtHGThBwAAAAClEZnAdMLyJpmJhR8AAAAAlExkAlNDPKa17U3aeYh7mAAAAACURmQCk5S7j4lFHwAAAACUSqQCU1dHs3YSmAAAAACUSMQCU5N2Hx5VNuthlwIAAAAgAqIVmJY3ayLj2j88HnYpAAAAACIgUoFp3fImSdJuVsoDAAAAUAKRCkxdwbOYdh/mPiYAAAAASxepwJTvMO2iwwQAAACgBCIVmFa2JtWYiNFhAgAAAFASkQpMZqZ1y5u06zAdJgAAAABLF6nAJEnrljdrN89iAgAAAFAC0QtMHU3aTYcJAAAAQAlELjB1LW/W3iNjSmeyYZcCAAAAoMZFLjCt62hS1qWBIR5eCwAAAGBpIheYupbnnsXE0uIAAAAAlipygWldR+5ZTCwtDgAAAGCpoheYgg7TbjpMAAAAAJYocoFpWVNCrcm4dtFhAgAAALBEkQtMZqbuFc3aeYjABAAAAGBpIheYJKlnRYt2EJgAAAAALFEkA1Pvimb1HxoJuwwAAAAANS6SgalnRYuOjqV1eGQi7FIAAAAA1LBIBqbelbmV8nbQZQIAAACwBJEMTD0rWiSJaXkAAAAAliSSgak3CEw7DrLwAwAAAIDFi2RgWt7SoPamBB0mAAAAAEsSycAksbQ4AAAAgKWLbGDqXdGsHQfpMAEAAABYvOgGppUt6j80KncPuxQAAAAANSqygalnRbNGJzI6MJwKuxQAAAAANSqygWlqpTym5QEAAABYnMgGpp7g4bX9LPwAAAAAYJEiG5gmO0wsLQ4AAABgkSIbmFobE1rZmuThtQAAAAAWLbKBScot/MDDawEAAAAsVqQDU+/KFm1n0QcAAAAAixTpwLRhZYt2HhpVOpMNuxQAAAAANSjSgalvVavSWdeuwbGwSwEAAABQgyIdmDasyq2Ut+3AcMiVAAAAAKhFkQ5MfatbJUlvEJgAAAAALEKkA9Oa9kY1NcS07QALPwAAAABYuEgHJjPThpWteoPABAAAAGARIh2YpNx9TEzJAwAAALAYkQ9Mfatb9cbBEWWzHnYpAAAAAGpM5APT+pUtSqWz2nuUpcUBAAAALExZA5OZdZjZvWb2opm9YGZvN7OVZvZ9M3sleF8RHGtm9jdmttXMnjaz80pRQ9+q3Ep52/ZzHxMAAACAhSl3h+kLkr7r7m+SdLakFyTdIulhd98o6eFgW5LeL2lj8LpZ0hdLUUD+WUzcxwQAAABgocoWmMxsmaR3Srpdktw95e6Dki6XdGdw2J2Srgg+Xy7pLs/5uaQOM1u31Dq6OprVEDeWFgcAAACwYOXsMJ0kaUDSHWb2pJl9ycxaJa11992SFLyvCY7vlrSj4Pz+YGwaM7vZzDab2eaBgYE5i4jHTL0rWrT9IB0mAAAAAAtTzsCUkHSepC+6+7mShjU1/W42NsvYMUvbuftt7r7J3Td1dnbOq5ANq1q4hwkAAADAgpUzMPVL6nf3x4Lte5ULUHvzU+2C930Fx/cWnN8jaVcpCtmwqlVvHBiWO0uLAwAAAJi/sgUmd98jaYeZnRYMXSLpeUkPSbo+GLte0oPB54ck/WawWt6Fkg7np+4t1YZVLRpOZXRgOFWKywEAAACoE4kyX/93JH3VzJKSXpN0o3Ih7WtmdpOk7ZKuDo79tqQPSNoqaSQ4tiTyS4u/cWBYq9saS3VZAAAAABFX1sDk7k9J2jTLrktmOdYlfbwcdeSXFt+2f0Rv3bCyHH8CAAAAQASV+zlMVaFnRYtixrOYAAAAACxMXQSmZCKmro5mnsUEAAAAYEHqIjBJ0sY1bXp579GwywAAAABQQ+omMJ3etUxb9w1pbCITdikAAAAAakTdBKYzupYrnXW9snco7FIAAAAA1Ii6CUynr1smSXp+9+GQKwEAAABQK+omMK1f2aK2xoSe33Uk7FIAAAAA1Ii6CUyxmOnN69r1/G4CEwAAAID5qZvAJOWm5T2/64iyWQ+7FAAAAAA1oL4CU9cyDacy2n6Q5zEBAAAAmFt9BaZ1yyWJaXkAAAAA5qWuAtPGtW1KxIyFHwAAAADMS10FpqaGuE5Z06bndrG0OAAAAIC51VVgkoKFH5iSBwAAAGAe6i8wdS3T3iPj2j80HnYpAAAAAKpcXQYmSdzHBAAAAGBO9ReY1gWBiWl5AAAAAOZQd4GpoyWp7o5mOkwAAAAA5lR3gUnKTcujwwQAAABgLvUZmNYt02sDQxpNZcIuBQAAAEAVq8/A1LVMWZde3EOXCQAAAEBxdRmYzghWynuO+5gAAAAAHEddBqbujmataW/Uv748EHYpAAAAAKpYXQYmM9NlZ3fpkZf26dBwKuxyAAAAAFSpugxMknTled2ayLi++czusEsBAAAAUKXqNjCdvm6ZTlvbrgee6A+7FAAAAABVqm4Dk5npyvO69cT2QW3bPxx2OQAAAACqUN0GJkm6/JwumUkPPLkz7FIAAAAAVKG6DkzrljfropNX6etP7ZS7h10OAAAAgCpT14FJkq48t0dvHBjRE9sPhV0KAAAAgCpT94HpfWeeoKaGmO5/gml5AAAAAKar+8DU1pjQr55xgr759G6NpzNhlwMAAACgiiTmOsDM4pJ+TVJf4fHu/lflK6uyrjy3Ww8+tUuPvDig9515QtjlAAAAAKgS8+kwfUPSDZJWSWoveEXGO05ZrdVtjXrgSZ7JBAAAAGDKnB0mST3uflbZKwlRIh7T5ed06a6fbdPgSEodLcmwSwIAAABQBebTYfqOmb237JWE7MpzuzWRcX3z6d1hlwIAAACgSswnMP1c0gNmNmpmR8zsqJkdKXdhlXZG1zKdurZN9z/BtDwAAAAAOfMJTH8p6e2SWtx9mbu3u/uyMtdVcWamq97aoye2D+rVgaGwywEAAABQBeYTmF6R9Ky7e7mLCdsV53QrHjPdt4UuEwAAAID5LfqwW9KPzOw7ksbzg1FaVjxvzbIm/dKpnbr/iZ365HtPUzxmYZcEAAAAIETz6TC9LulhSUlFdFnxQle9tUd7jozp0a37wy4FAAAAQMiO22EKHlrb5u7/qUL1hO6SN6/R8uYG3bulX+88tTPscgAAAACE6LgdJnfPSDqvQrVUhcZEXJef06V/eW6PDo9OhF0OAAAAgBDNZ0reU2b2kJn9hpn9ev5V9spCdNVbezSezupbPJMJAAAAqGvzCUwrJR2Q9B5JHwxel5azqLC9pXu5Tl3bpnu37Ai7FAAAAAAhmnOVPHe/sRKFVJP8M5n+/Nsv6tWBIZ3c2RZ2SQAAAABCMGeHycx6zOwBM9tnZnvN7D4z66lEcWHimUwAAAAA5jMl7w5JD0nqktQt6RvBWKQVPpMpk438M3sBAAAAzGI+ganT3e9w93Tw+oqkulhvm2cyAQAAAPVtPoFpv5l91Mziweujyi0CEXmFz2QCAAAAUH/mE5g+JunDkvZI2i3pqmAs8ngmEwAAAFDf5gxM7r7d3S9z9053X+PuV7j7G5UorhrwTCYAAACgfhVdVtzM/utxznN3/+9lqKfqFD6T6d+9bX3Y5QAAAACooON1mIZneUnSTZI+Vea6qkb+mUxPbB/UqwNDYZcDAAAAoIKKBiZ3/8v8S9Jtkpol3SjpbkknVai+qnDFublnMn1t846wSwEAAABQQce9h8nMVprZn0p6Wrnpe+e5+6fcfV9FqqsSa9qbdMmb1ui+Lf2ayGTDLgcAAABAhRQNTGb2vyQ9LumopLe4+x+7+6GKVVZlrr2gV/uHUnr4hbrKigAAAEBdO16H6ZOSuiT9kaRdZnYkeB01syOVKa96vHNjp05Y1qR7Ht8edikAAAAAKuR49zDF3L3Z3dvdfVnBq93dl1WyyGqQiMd09aYe/fjlAe0aHA27HAAAAAAVMJ8H1y6JmcXN7Ekz+2awfaKZPWZmr5jZPWaWDMYbg+2twf6+cte2UB/e1KusS/du6Q+7FAAAAAAVUPbAJOn3JL1QsP15Sbe6+0ZJh5RbplzB+yF3P0XSrcFxVaV3ZYveccpq3fP4DmWzHnY5AAAAAMqsrIHJzHok/ZqkLwXbJuk9ku4NDrlT0hXB58uDbQX7LwmOryrXnN+rnYOjevTV/WGXAgAAAKDMyt1h+mtJfygpvxb3KkmD7p4OtvsldQefuyXtkKRg/+Hg+Kry3jPWqqOlQXc/zjOZAAAAgKg73rLivWZ2t5n9xMw+Y2YNBfu+PteFzexSSfvcfUvh8CyH+jz2FV73ZjPbbGabBwYG5iqj5BoTcf36uT363nN7dHA4VfG/DwAAAKByjtdh+rKkH0n6HUnrJP3YzPIdnw3zuPbFki4zs22S7lZuKt5fS+ows0RwTI+kXcHnfkm9khTsXy7p4MyLuvtt7r7J3Td1dnbOo4zSu+b8Xk1kXPc/weIPAAAAQJQdLzB1uvs/uPtT7v47kv5e0r+a2cmapfMzk7t/2t173L1P0rWSfujuH5H0iKSrgsOul/Rg8PmhYFvB/h+6e1WurHDaCe06d32H7nl8h6q0RAAAAAAlcLzA1GBmTfkNd/8/yq149y/KdZwW61OSPmFmW5W7R+n2YPx2SauC8U9IumUJf6Psrj2/V6/sG9IT2wfDLgUAAABAmRwvMH1J0tsKB9z9B5KulvTsQv6Iu//I3S8NPr/m7he4+ynufrW7jwfjY8H2KcH+1xb2j1JZl57VpdZkXPc8vj3sUgAAAACUSdHA5O63uvuPZxl/UtK3ylpVDWhtTOiDZ3fpG7/YraNjE2GXAwAAAKAMFrus+CdKWkWNuub8Xo1OZPTNp3eHXQoAAACAMlhsYKq6B8qG4ZzeDp22tl338EwmAAAAIJIWG5hYGk6Smema83v11I5BvbjnSNjlAAAAACix4z249qiZHZnldVRSVwVrrGpXntutZDxGlwkAAACIoOMt+tDu7stmebW7e6LYefVmRWtS7z1jrR54cqfGJjJhlwMAAACghBY7JQ8Frj1/vQZHJvS95/eGXQoAAACAEiIwlcBFJ69Sz4pmnskEAAAARAyBqQRiMdM1m3r16NYDem1gKOxyAAAAAJQIgalErrmgV8l4THf+27awSwEAAABQIgSmElnT3qRLz16nf97Sr8OjE2GXAwAAAKAECEwl9LGLT9RIKqN/3swS4wAAAEAUEJhK6Mzu5bqgb6W+8m/blMnybF8AAACg1hGYSuzGi/vUf2hUP3iBJcYBAACAWkdgKrFfOX2tujua9eWfvh52KQAAAACWiMBUYol4TNdftEGPvX5Qz+06HHY5AAAAAJaAwFQG12xar+aGuL7y6LawSwEAAACwBASmMlje0qAPvbVbDz61S/uHxsMuBwAAAMAiEZjK5IaLTlQqk9X/fWx72KUAAAAAWCQCU5mcsqZNv3Rqp/7x528olc6GXQ4AAACARSAwldGNF/dp4Oi4vvXMrrBLAQAAALAIBKYyeufGTp3c2ao7Ht0mdx5kCwAAANQaAlMZxWKmGy4+UU/3H9aWNw6FXQ4AAACABSIwldmHzuvWsqaE7mCJcQAAAKDmEJjKrCWZ0HUXrNd3n9ujnYOjYZcDAAAAYAEITBXwG2/fIHfXXT/bFnYpAAAAABaAwFQBPSta9KtnnKC7/98OjaTSYZcDAAAAYJ4ITBXysXecqMOjE3rgyZ1hlwIAAABgnghMFbJpwwqd2b2MJcYBAACAGkJgqhAz040Xnait+4b0k1f2h10OAAAAgHkgMFXQpWev0+q2Rt3x6OthlwIAAABgHghMFdSYiOujF67XIy8N6NWBobDLAQAAADAHAlOFfeRtG5SMx3Tnv20LuxQAAAAAcyAwVVhne6M+eHaX7t3Sr8OjE2GXAwAAAOA4CEwhuPHiPo2kMvra4zvCLgUAAADAcRCYQnBm93JdeNJK/cOPX9XB4VTY5QAAAAAogsAUkj++7AwdHp3Qf/vGc2GXAgAAAKAIAlNI3nTCMv3Wu0/R15/apR++uDfscgAAAADMgsAUoo+/+2SdurZN//mBZ3V0jAUgAAAAgGpDYApRYyKuz3/oLO09MqbPfefFsMsBAAAAMAOBKWTnrl+hj118or762Hb97NUDYZcDAAAAoACBqQp88r2naf3KFn36/qc1msqEXQ4AAACAAIGpCjQn4/rch96ibQdGdOsPXg67HAAAAAABAlOVuOjk1brugl596Sev6Rc7BsMuBwAAAIAITFXl0x94szrbG/Wp+55WKp0NuxwAAACg7hGYqsiypgb92RVv0Yt7juqLP3o17HIAAACAukdgqjK/fPpaXXZ2l/72kVf00p6jYZcDAAAA1DUCUxX67AdPV3tTg/7wvqeVyXrY5QAAAAB1i8BUhVa1NeqzHzxdv9gxqDsefT3scgAAAIC6RWCqUped3aVL3rRGf/G9l/TGgeGwywEAAADqEoGpSpmZ/vTKM9UQi+mW+56RO1PzAAAAgEojMFWxdcub9ekPvFk/e+2A7n58R9jlAAAAAHWHwFTlrj2/VxeetFJ//q0XtPvwaNjlAAAAAHWFwFTlYjHT5379LE1ks/qjB55lah4AAABQQQSmGtC3ulWf/JXT9PCL+/TQL3aFXQ4AAABQNwhMNeJj7zhRZ/d26E++8bwODI2HXQ4AAABQFwhMNSIeM/3PD52lo2MT+pNvPB92OQAAAEBdIDDVkNNOaNfH332KHvrFLv3g+b1hlwMAAABEXiLsArAwv/WuU/SdZ/bo0w88o+d2HdGpa9u0cW27+la1KBEn/wIAAAClRGCqMclETH/54bP1u3c/qVt/8PLUeDymkzpbtXFtu05dkwtRp65t04ZVrYrHLMSKAQAAgNpl5Vqm2sx6Jd0l6QRJWUm3ufsXzGylpHsk9UnaJunD7n7IzEzSFyR9QNKIpBvc/Ynj/Y1Nmzb55s2by1J/LRhJpbV135Be3jukV/Ye1ct7j+rlvUPaOTj1vKZkIqaTO9t06to2nbq2XRuDMLV+ZQtBCgAAAJFnZlvcfdNizy9nhykt6ZPu/oSZtUvaYmbfl3SDpIfd/XNmdoukWyR9StL7JW0MXm+T9MXgHUW0JBM6q6dDZ/V0TBsfHs8HqaN6JXjfvO2QHnxqaknyxoIgletGtauzvVHNDfHcK5l7NSViTPUDAABA3SpbYHL33ZJ2B5+PmtkLkrolXS7pXcFhd0r6kXKB6XJJd3mu5fVzM+sws3XBdbAArY0Jnd3bobN7pwepofG0Xtl7VK/szYWol/cN6bHXD+rrTx3/2U7JeExNDbFciGqIqykfqIJw1VTweXK86P6Ymhriak0m1NqYUFtjQk0NMeUajAAAAEB1qcg9TGbWJ+lcSY9JWpsPQe6+28zWBId1S9pRcFp/MDYtMJnZzZJulqT169eXte6oaWtM6Nz1K3Tu+hXTxo+MTWjrviENjqQ0mspqdCKj0YmMxlKZyc+jqeCV3xeMHR6dOObYsYnsguqKx0ytybjaGoMQ1ZQLUq3Jgs+NcbU2JtQeHJMPW20Fn1sbc0EsxlRDAAAAlEjZA5OZtUm6T9Lvu/uR43QSZttxzA1W7n6bpNuk3D1Mpaqzni1ratB5M0LUUmSzrvF0dlrYGiv4PJLKaCSV1vB4WkPjmeA99yr8vPfImIbGgvFURpns/P7nbk3GjwlerY0JtTdNBa+2IIy1FoSu1mRcLcncdktjLsA1Juh+AQAA1LOyBiYza1AuLH3V3e8Phvfmp9qZ2TpJ+4Lxfkm9Baf3SDr+XDFUpVjMJu+BKhX3XAg7OpaeNWANj2c0ND4xFcDG0hrKh7KxtPoPjWg4FRw3llYqM78uWMw0GbhaGvNTCaemFLY25kLWZOBqTKitsSB4BeGtMJAlE9wTBgAAUCvKFpiCVe9ul/SCu/9Vwa6HJF0v6XPB+4MF479tZncrt9jDYe5fQp6ZqSm4f6qzvXHJ10uls9OC10gQpoaDblbuPa2R8czU/mB8ZDyjPUfGph07ksrM+28n47Fp4evYcJXb15Kc6ojN1gErPJ8VDwEAAMqjnB2miyX9hqRnzOypYOwzygWlr5nZTZK2S7o62Pdt5ZYU36rcsuI3lrE21LlkIqZkIqkVrcmSXC+bdY1OzAhcQZCaLZCNpIKgNp4JOl9p7R8aD47NHTeenv+9YE0NsVzIKuh+tSTj08Ym34NgVrg/F9gKOmbJOKsjAgAAqLyr5P1Us9+XJEmXzHK8S/p4ueoByikWs8lOUKlMZLKT4alY4MqHspGCTle+O3Z0LHcf2PB4ZrJDllpACEsmYpNdramphzMC2WzBrGA81w1jOiIAAKhdFVklD8DCNcRjWt4c0/LmhpJdMx/C8gFsehBLTw9eqakO2OR7KqMDQyPTxhayKmJD3CY7WIVBarZ7wYofMz2YsTAHAAAoJwITUEfKEcIyWdfIzLBVELqGx9PTulwjBV2y/PiuwYmga5aZvNZ8xSz3EOeWZDx45UJVcxDMmgs6YC0NU8Erf3xrY2LqmIIxghgAAJAITACWKB4ztTc1qL2pdCFs8p6wGd2twvvCRgu6YPmuWWH37PDohHYPjk6NLXBK4mxBrKWg6zVXEGuZMU2RIAYAQG0iMAGoOtPuCWsv3XXTmaxGJjJByCoIYcHYcGoqiI2mMpMdsHIEsVzgml8Qm94BI4gBAFBJBCYAdSMRj2lZPKZlJeyGSXMHscmxMgYxC54ZNmcQmzZtMTfW1BCfDF/NBec2J+NqaWDFRABAfSMwAcASVWsQG0ktPYhJuWeHNU8LVLnuV3MyruaG6ePNBZ2v3L7E9PPyxzTkxuiMAQCqHYEJAKpUJYPY6ETuXrDR1NRS9aPB+8hEWmOTn/PjaQ2OpLQrf+xEbmwhqyZKuSmKzQ0zgtZk4Dp2rGVmRywIZdMDWTDWEOehzgCAJSMwAUCdKVcQk6YW7BidKAhcQQdsKnAdG8pGJ9IFn3PvB4dHJ48dDc7NZH1B9TQmYgVBK3ZsuJollOU7YDPD18xQlozTHQOAekBgAgCUTDke4pzn7kplsgVBLKOxieOHssJjC0PZweGU+g9NdctGUhmNL3CqYjxmk1MLZ5+OGA+mLRafljjrfWPJuJoSccXojgFAVSAwAQBqgpmpMRFXYyKujpbSXz8TdMemha8ioSx/3GyhbHg8rYGj4wXTHHPHLrA5NtURm2VRjqaGmJoacsEs/56/Jyx/b1nh/qaG6eP5MQyhQdIAAAwxSURBVLpkADA3AhMAAMp1jNoaE2orU3dsPJ2dnFo4c1rirPeQzRLKRlMZDRwd11gw7XFsIqOxieyiApk0dQ9ZPkQ1J4NwVTg2Gbxiagq6X1Pha0ZwKzLexP1kAGoYgQkAgDIzs8ngsKIM13d3TWRcY+mMxlL5MJWdvJdstvGx4JXfP5rKTo1N5B4QvX8oNeOYhU9dzEvGY5OdrmO6X/mwloirqSB0zQxuuVAWmyXMBe9JumYASo/ABABAjTMzJROmZKI8i3kUymaDbllBl2s0NdXtGi0IXVOhbEZIm3zPaiyV0YHhlEYPTQW6/DELXeRDyj2TrHlGIJs+bTHfCTu2C9ZcEOhmTnmcvE5B4KNrBtQHAhMAAJi3WMxygSMZL/vfmsgUBK3U9DA2OpHR+OSKjNljQ1p+vKC7Nhx0zcYLrpEPeouRjMfUOGuHbLYwNr2b1jhjumOuQzY15bGww8bzyoBwEZgAAEBVaojH1FCmJfAL5btmY8cEqelh7JiQli7srk2f8nhwODUtuI1PLG5pfCnXNZsMUolYwbTFIlMbZ47NWOyjMRFXY7Dox+R2IveeTMTUmIixSiNQgMAEAADqWmHXrBz3mBWayBR0wwpC17FTFrNF7z8rDG4jqfS0cFZ4/lI0xG0ySOVDVD5oTY3lg9b0sNVYEMKmHdcw47jE9PDW2DD9mnTVUC0ITAAAABWS75q1l7lrVrgy48wglUpnNZ7OLeAxns51v1KZrMYngu1g3+RxBeOp4JyxiawOj05ofCJbcO7UNRfTSZspGS8WwOYIbw3x45x7nPDWMP1vsIAI8ghMAAAAEVPulRnnks5kjwlh+bA1PYQtJLzl9ufHh8fTOjg8/Zr5c8fSGfnSM9tkmErOCFrFwtv0rtuxIawwsCXjx56XnHFeImaEtipAYAIAAEBJJeIxJeIxtSTD+fvurnRwb9rxOmWF47N13sbnCG9Hx9Lan04pNfO84PNSxUyzd8YmpzDO0kErGJ+tg9a4wPCWiMdK8L9IbSMwAQAAIFLMTA1xU0M8JjWGU0P++WiFIWwp4W22ztt4OqvB0Ync/snrTA93SxWPWUGnrbThbWbnrWmW8JZMxEJfwp/ABAAAAJRY4fPR2kOqIZt1pTKz3Gc2OX0xMy1kHTv1cUZ4C64xM7wND6eLnpvKLD20JfKhraBLNt/w1tiw9A4ZgQkAAACIoFjM1BTL3cumpnBqyIe2mQuDzD+8zbIQySzh7chouug9b0tFYAIAAABQFtNCm8q7OmQx9j+Wdj53cQEAAABAEQQmAAAAACiCwAQAAAAARRCYAAAAAKAIAhMAAAAAFEFgAgAAAIAiCEwAAAAAUASBCQAAAACKIDABAAAAQBEEJgAAAAAogsAEAAAAAEUQmAAAAACgCAITAAAAABRBYAIAAACAIghMAAAAAFAEgQkAAAAAiiAwAQAAAEARBCYAAAAAKILABAAAAABFEJgAAAAAoAgCEwAAAAAUQWACAAAAgCIITAAAAABQBIEJAAAAAIogMAEAAABAEQQmAAAAACiCwAQAAAAARRCYAAAAAKAIAhMAAAAAFEFgAgAAAIAiCEwAAAAAUASBCQAAAACKIDABAAAAQBEEJgAAAAAogsAEAAAAAEUQmAAAAACgCAITAAAAABRRVYHJzN5nZi+Z2VYzuyXsegAAAADUt6oJTGYWl/R3kt4v6XRJ15nZ6eFWBQAAAKCeVU1gknSBpK3u/pq7pyTdLenykGsCAAAAUMeqKTB1S9pRsN0fjE1jZjeb2WYz2zwwMFCx4gAAAADUn2oKTDbLmB8z4H6bu29y902dnZ0VKAsAAABAvaqmwNQvqbdgu0fSrpBqAQAAAICqCkyPS9poZieaWVLStZIeCrkmAAAAAHUsEXYBee6eNrPflvQvkuKSvuzuz4VcFgAAAIA6VjWBSZLc/duSvh12HQAAAAAgVdeUPAAAAACoKgQmAAAAACiCwAQAAAAARRCYAAAAAKAIAhMAAAAAFEFgAgAAAIAiCEwAAAAAUASBCQAAAACKIDABAAAAQBHm7mHXsGhmdlTSS2HXgbqxWtL+sItAXeE7h0ri+4ZK4vuGSjrN3dsXe3KilJWE4CV33xR2EagPZraZ7xsqie8cKonvGyqJ7xsqycw2L+V8puQBAAAAQBEEJgAAAAAootYD021hF4C6wvcNlcZ3DpXE9w2VxPcNlbSk71tNL/oAAAAAAOVU6x0mAAAAACibmg1MZvY+M3vJzLaa2S1h14NoMbNeM3vEzF4ws+fM7PeC8ZVm9n0zeyV4XxF2rYgOM4ub2ZNm9s1g+0Qzeyz4vt1jZsmwa0Q0mFmHmd1rZi8Gv3Nv5/cN5WJmfxD8u/RZM/snM2vi9w2lZGZfNrN9ZvZswdisv2mW8zdBhnjazM6b6/o1GZjMLC7p7yS9X9Lpkq4zs9PDrQoRk5b0SXd/s6QLJX08+I7dIulhd98o6eFgGyiV35P0QsH25yXdGnzfDkm6KZSqEEVfkPRdd3+TpLOV+97x+4aSM7NuSb8raZO7nykpLula8fuG0vqKpPfNGCv2m/Z+SRuD182SvjjXxWsyMEm6QNJWd3/N3VOS7pZ0ecg1IULcfbe7PxF8Pqrc/5noVu57dmdw2J2SrginQkSNmfVI+jVJXwq2TdJ7JN0bHML3DSVhZsskvVPS7ZLk7il3HxS/byifhKRmM0tIapG0W/y+oYTc/V8lHZwxXOw37XJJd3nOzyV1mNm6412/VgNTt6QdBdv9wRhQcmbWJ+lcSY9JWuvuu6VcqJK0JrzKEDF/LekPJWWD7VWSBt09HWzzO4dSOUnSgKQ7gimgXzKzVvH7hjJw952S/kLSduWC0mFJW8TvG8qv2G/agnNErQYmm2WM5f5QcmbWJuk+Sb/v7kfCrgfRZGaXStrn7lsKh2c5lN85lEJC0nmSvuju50oaFtPvUCbBfSOXSzpRUpekVuWmRM3E7xsqZcH/fq3VwNQvqbdgu0fSrpBqQUSZWYNyYemr7n5/MLw337YN3veFVR8i5WJJl5nZNuWmGL9HuY5TRzCFReJ3DqXTL6nf3R8Ltu9VLkDx+4Zy+GVJr7v7gLtPSLpf0kXi9w3lV+w3bcE5olYD0+OSNgYrrCSVu3nwoZBrQoQE94/cLukFd/+rgl0PSbo++Hy9pAcrXRuix90/7e497t6n3O/ZD939I5IekXRVcBjfN5SEu++RtMPMTguGLpH0vPh9Q3lsl3ShmbUE/27Nf9/4fUO5FftNe0jSbwar5V0o6XB+6l4xNfvgWjP7gHL/BTYu6cvu/mchl4QIMbN3SPqJpGc0dU/JZ5S7j+lrktYr9y+Bq9195k2GwKKZ2bsk/Ud3v9TMTlKu47RS0pOSPuru42HWh2gws3OUW2AkKek1STcq9x9R+X1DyZnZn0i6RrkVaJ+U9O+Vu2eE3zeUhJn9k6R3SVotaa+kz0r6umb5TQuC+98qt6reiKQb3X3zca9fq4EJAAAAAMqtVqfkAQAAAEDZEZgAAAAAoAgCEwAAAAAUQWACAAAAgCIITAAAAABQBIEJAFDVzOxKM3Mze1Ow3Wdmz85xzpzHAAAwHwQmAEC1u07ST5V7qC8AABVFYAIAVC0za5N0saSbNEtgMrMbzOxBM/uumb1kZp8t2B03s/9tZs+Z2ffMrDk45z+Y2eNm9gszu8/MWirzTwMAqEUEJgBANbtC0nfd/WVJB83svFmOuUDSRySdI+lqM9sUjG+U9HfufoakQUkfCsbvd/fz3f1sSS8oF8YAAJgVgQkAUM2uk3R38PnuYHum77v7AXcflXS/pHcE46+7+1PB5y2S+oLPZ5rZT8zsGeWC1hllqRwAEAmJsAsAAGA2ZrZK0nuUCzguKS7JJf39jEO9yPZ4wVhGUnPw+SuSrnD3X5jZDZLeVbqqAQBRQ4cJAFCtrpJ0l7tvcPc+d++V9LqknhnH/YqZrQzuUbpC0qNzXLdd0m4za1CuwwQAQFEEJgBAtbpO0gMzxu6T9JkZYz+V9I+SnpJ0n7tvnuO6/0XSY5K+L+nFEtQJAIgwc585kwEAgNoQTKnb5O6/HXYtAIBoosMEAAAAAEXQYQIAAACAIugwAQAAAEARBCYAAAAAKILABAAAAABFEJgAAAAAoAgCEwAAAAAUQWACAAAAgCL+P0M920aLANJGAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1008x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (14,6))\n",
    "plt.plot(list_alpha,list_l2_norm)\n",
    "plt.xlabel('Alpha')\n",
    "plt.ylabel('L2 Norm')\n",
    "plt.xlim(0,100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [],
   "source": [
    "# this is the relationship between, l2 norm, and alpha, We can see that as X increases, l2 norm decreases. Which means \n",
    "# the size of the coefficients are decreasing, but the decrease is not that smooth as it was in the case of Ridge regression"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Selecting the best value of alpha, this time using cross validation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\model_selection\\_split.py:1978: FutureWarning: The default value of cv will change from 3 to 5 in version 0.22. Specify it explicitly to silence this warning.\n",
      "  warnings.warn(CV_WARNING, FutureWarning)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8025027.105797453, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7668131.081031161, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7379689.059135773, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8024769.451625228, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7668162.511467989, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7379116.493738936, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8024428.869709917, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7668203.851112752, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7378359.051476063, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8023978.678235011, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7668258.129253355, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7377356.8591011055, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8023383.617118769, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7668329.236925583, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7376030.374640859, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8022597.094707823, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7668422.117868945, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7374274.060610484, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8021557.553864853, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7668542.927391101, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7371947.4518374335, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8020183.701435024, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7668699.223284764, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7368863.373849746, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8018368.108136984, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7668899.816517068, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7364771.943784851, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8015969.048190406, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7669154.540076875, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7359339.783076748, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8012799.346258286, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7669472.92650263, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7352117.833003695, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8008612.013949796, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7669861.82151897, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7342495.852041017, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8003081.241575329, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7670319.575398708, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7329643.070681185, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7995777.762265293, tolerance: 3171.3378160881116\n",
      "  positive)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7670825.515276744, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7312413.720431845, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7986134.331875311, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7671319.912338309, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7289205.699828588, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7973403.720444241, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7671662.112928809, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7257735.172003129, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7956597.035173936, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7671556.969263595, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7214653.262720855, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7934399.613486338, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7670417.605448449, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7154955.846858716, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7905055.133869825, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7667097.323142058, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7072097.969348271, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7866148.26884133, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7659507.016777146, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6975458.166028315, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7803330.415136701, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7648884.965194799, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6842736.105626052, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7715734.284708632, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7636002.8031652775, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6642171.7516709585, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7584324.903519461, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7595110.708631568, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6312261.860919304, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7380939.551488267, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7513224.36341749, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5765405.8852729555, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7107126.1286003, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7532433.710445492, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4730795.1377349375, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6692234.787780427, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 7249283.050257762, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 2820138.4154642047, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6090895.830651786, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6676456.242878587, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 1415298.9620763715, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5106846.750912296, tolerance: 3171.3378160881116\n",
      "  positive)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5858873.514318958, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 107469.68847487494, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 3290584.1002781773, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4408262.552617449, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12668.5951931905, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 1807122.1676838025, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 2692883.9597017514, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8940.449034309015, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 13408.359934329987, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 33633.3516436629, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6589.706076128408, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6964.833891328424, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 6076.76982575655, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4993.949482720345, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11719.13731017895, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4218.027577415109, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 3729.496095534414, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 12393.866831637919, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 81120.21244137362, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 20592.270118307322, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 125407.50895362534, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 26724.311436977237, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10184.27281612344, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 72842.02606165223, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 31624.26207036525, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 4981.367240872234, tolerance: 3539.318352553054\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5477.761642687023, tolerance: 3171.3378160881116\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:475: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 5495.007430983707, tolerance: 3943.165545639786\n",
      "  positive)\n",
      "C:\\Users\\Lenovo\\Anaconda3\\lib\\site-packages\\sklearn\\model_selection\\_search.py:813: DeprecationWarning: The default of the `iid` parameter will change from True to False in version 0.22 and will be removed in 0.24. This will change numeric results when test-set sizes are unequal.\n",
      "  DeprecationWarning)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv='warn', error_score='raise-deprecating',\n",
       "             estimator=Lasso(alpha=1.0, copy_X=True, fit_intercept=True,\n",
       "                             max_iter=1000, normalize=False, positive=False,\n",
       "                             precompute=False, random_state=None,\n",
       "                             selection='cyclic', tol=0.0001, warm_start=False),\n",
       "             iid='warn', n_jobs=None,\n",
       "             param_grid={'alpha': array([1.00000000e-02, 1.32194115e-02, 1.74752840e-02, 2.31012970e-02,...\n",
       "       4.97702356e+07, 6.57933225e+07, 8.69749003e+07, 1.14975700e+08,\n",
       "       1.51991108e+08, 2.00923300e+08, 2.65608778e+08, 3.51119173e+08,\n",
       "       4.64158883e+08, 6.13590727e+08, 8.11130831e+08, 1.07226722e+09,\n",
       "       1.41747416e+09, 1.87381742e+09, 2.47707636e+09, 3.27454916e+09,\n",
       "       4.32876128e+09, 5.72236766e+09, 7.56463328e+09, 1.00000000e+10])},\n",
       "             pre_dispatch='2*n_jobs', refit=True, return_train_score=False,\n",
       "             scoring=None, verbose=0)"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parameters = {'alpha':list_alpha}\n",
    "lasso = Lasso()\n",
    "model = GridSearchCV(lasso,parameters)\n",
    "model.fit(data.drop('Salary',axis = 1),data['Salary'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Lasso(alpha=174.7528400007683, copy_X=True, fit_intercept=True, max_iter=1000,\n",
       "      normalize=False, positive=False, precompute=False, random_state=None,\n",
       "      selection='cyclic', tol=0.0001, warm_start=False)"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "best_model = model.best_estimator_\n",
    "best_model\n",
    "# value of alpha is 174.75"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-1.39313334,  5.00607536,  0.        ,  0.        ,  0.        ,\n",
       "        4.11310808, -0.        , -0.24893363,  0.43432675,  0.        ,\n",
       "        1.19379874,  0.72902921, -0.49482578,  0.28710204,  0.24005195,\n",
       "       -0.        ,  0.        , -0.        ,  0.        ])"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# this is the model that is choosen\n",
    "best_model.coef_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [],
   "source": [
    "# We can see that only 10 coeffficients are having non zero weights. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Coefficients</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>AtBat</th>\n",
       "      <td>-1.393133</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hits</th>\n",
       "      <td>5.006075</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>HmRun</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Runs</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>RBI</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Walks</th>\n",
       "      <td>4.113108</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Years</th>\n",
       "      <td>-0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CAtBat</th>\n",
       "      <td>-0.248934</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CHits</th>\n",
       "      <td>0.434327</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CHmRun</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CRuns</th>\n",
       "      <td>1.193799</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CRBI</th>\n",
       "      <td>0.729029</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CWalks</th>\n",
       "      <td>-0.494826</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PutOuts</th>\n",
       "      <td>0.287102</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Assists</th>\n",
       "      <td>0.240052</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Errors</th>\n",
       "      <td>-0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>League_N</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Division_W</th>\n",
       "      <td>-0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NewLeague_N</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             Coefficients\n",
       "AtBat           -1.393133\n",
       "Hits             5.006075\n",
       "HmRun            0.000000\n",
       "Runs             0.000000\n",
       "RBI              0.000000\n",
       "Walks            4.113108\n",
       "Years           -0.000000\n",
       "CAtBat          -0.248934\n",
       "CHits            0.434327\n",
       "CHmRun           0.000000\n",
       "CRuns            1.193799\n",
       "CRBI             0.729029\n",
       "CWalks          -0.494826\n",
       "PutOuts          0.287102\n",
       "Assists          0.240052\n",
       "Errors          -0.000000\n",
       "League_N         0.000000\n",
       "Division_W      -0.000000\n",
       "NewLeague_N      0.000000"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.DataFrame({'Coefficients':list(best_model.coef_)},index = list(data.drop('Salary',axis = 1).columns))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
